Sha256: 6711455aa50b6cdcd770ee5be46baeecef1376156c61177b350aa5ef6a3952a2

Contents?: true

Size: 1.84 KB

Versions: 10

Compression:

Stored size: 1.84 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  class ParentPresentationStyleTestClass

    include Vedeu::Presentation

    attr_reader :style

    def initialize
      @style  = ['underline']
      @parent = nil
    end

  end # ParentPresentationStyleTestClass

  class PresentationStyleTestClass

    include Vedeu::Presentation

    attr_reader :parent

    def initialize(attributes = {})
      @style  = attributes[:style]
      @parent = attributes[:parent]
    end

  end # PresentationTestClass

  module Presentation

    describe Styles do

      let(:described)          { Vedeu::Presentation::Styles }
      let(:included_described) { Vedeu::PresentationStyleTestClass }
      let(:included_instance)  { included_described.new(attributes) }
      let(:attributes) {
        {
          parent: parent,
          style:  style,
        }
      }
      let(:parent) { Vedeu::ParentPresentationStyleTestClass.new }
      let(:style)  { ['bold'] }

      describe '#style' do
        subject { included_instance.style }

        it { subject.must_be_instance_of(Vedeu::Presentation::Style) }

        context 'when the attribute is not set' do
          let(:style) {}

          context 'when a parent is available' do
            it { subject.value.must_equal(['underline']) }
          end

          context 'when a parent is not available' do
            let(:parent) {}

            it { subject.value.must_equal(nil) }
          end
        end

        context 'when the attribute is set' do
          it { subject.value.must_equal(['bold']) }
        end
      end

      describe '#style=' do
        let(:style) { Vedeu::Presentation::Style.new('normal') }

        subject { included_instance.style = (style) }

        it { subject.must_be_instance_of(Vedeu::Presentation::Style) }
      end

    end # Style

  end # Presentation

end # Vedeu

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
vedeu-0.8.20 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.19 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.18 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.17 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.16 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.15 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.14 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.13 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.12 test/lib/vedeu/presentation/styles_test.rb
vedeu-0.8.10 test/lib/vedeu/presentation/styles_test.rb