Sha256: c17041affddcb8ef9d82bb1c4ee9c99781530850c0f08f41ac735cea859369a7

Contents?: true

Size: 1.71 KB

Versions: 19

Compression:

Stored size: 1.71 KB

Contents

require 'test_helper'

module Vedeu

  module DSL

    describe Composition do

      let(:described) { Vedeu::DSL::Composition }
      let(:instance)  { described.new(model) }
      let(:model)     { Vedeu::Composition.new }
      let(:client)    {}

      describe '#initialize' do
        it { instance.must_be_instance_of(described) }
        it { instance.instance_variable_get('@model').must_equal(model) }
        it { instance.instance_variable_get('@client').must_equal(client) }
      end

      describe '#view' do
        subject {
          instance.view('dysprosium') do
            # ...
          end
        }

        it { subject.must_be_instance_of(Vedeu::Interfaces) }
        it { subject.first.must_be_instance_of(Vedeu::Interface) }

        context 'when the block is not given' do
          it { proc { instance.view }.must_raise(InvalidSyntax) }
        end
      end

      describe '#template_for' do
        let(:_name)    {}
        let(:filename) {}
        let(:object)   {}
        let(:content)  { "Hydrogen\nCarbon\nOxygen\nNitrogen" }
        let(:as_lines) {
          [
            Vedeu::Line.new(streams: [Vedeu::Stream.new(value: 'Hydrogen')]),
            Vedeu::Line.new(streams: [Vedeu::Stream.new(value: 'Carbon')]),
            Vedeu::Line.new(streams: [Vedeu::Stream.new(value: 'Oxygen')]),
            Vedeu::Line.new(streams: [Vedeu::Stream.new(value: 'Nitrogen')])
          ]
        }

        before do
          Vedeu::Template.expects(:parse).
            with(object, filename).returns(content)
        end

        subject { instance.template_for(_name, filename, object) }

        it { subject.must_be_instance_of(Vedeu::Interfaces) }
      end

    end # Composition

  end # DSL

end # Vedeu

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
vedeu-0.4.36 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.35 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.34 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.33 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.32 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.31 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.30 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.29 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.28 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.27 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.26 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.25 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.24 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.23 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.22 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.21 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.20 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.19 test/lib/vedeu/dsl/composition_test.rb
vedeu-0.4.18 test/lib/vedeu/dsl/composition_test.rb