Sha256: 7241d0cf17aa45b870cc77f216a7ef71ccbaa0f6e0baca5d6b53494c1b5e47a9

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

require_relative '../../../test_helper'

module Vedeu
  describe Directive do
    let(:described_class)     { Directive }
    let(:instance)  { described_class.new(directive) }
    let(:directive) {}

    it { instance.must_be_instance_of(Directive) }

    describe '.enact' do
      subject { described_class.enact(directive) }

      context 'when the directive is invalid' do
        it 'raises an exception' do
          proc { subject }.must_raise(InvalidDirective)
        end
      end

      context 'when the directive is valid' do
        context 'when the directive is a collection' do
          let(:directive) { [] }

          context 'and the first element is a number' do
            let(:directive) { [0, 0] }

            before { Position.stubs(:set) }

            it 'must be a position' do
              skip
            end
          end

          context 'and the first element is a symbol' do
            let(:directive) { [:default, :default] }

            before { Colour.stubs(:set) }

            it 'must be a colour' do
              skip
            end
          end
        end

        context 'when the directive is individual' do
          let(:directive) { :normal }

          it 'must be a style' do
            skip
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.0.7 test/lib/vedeu/output/directive_test.rb
vedeu-0.0.6 test/lib/vedeu/output/directive_test.rb
vedeu-0.0.5 test/lib/vedeu/output/directive_test.rb
vedeu-0.0.4 test/lib/vedeu/output/directive_test.rb