Sha256: 243e55fcde88395e85e4767caad66ec1fc299768f00e91a70ae57c7bf6f92e5e

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

require 'spec_helper'

SimpleCov.command_name('Nested') unless RUBY_VERSION.to_s < '1.9.0'

describe 'Nested, Unit' do

  let(:nodule) { CukeModeler::Nested }
  let(:nested_element) { Object.new.extend(nodule) }


  describe 'unique behavior' do

    it 'has a parent element' do
      nested_element.should respond_to(:parent_element)
    end

    it 'can change its parent element' do
      expect(nested_element).to respond_to(:parent_element=)

      nested_element.parent_element = :some_parent_element
      nested_element.parent_element.should == :some_parent_element
      nested_element.parent_element = :some_other_parent_element
      nested_element.parent_element.should == :some_other_parent_element
    end

    it 'has access to its ancestors' do
      nested_element.should respond_to(:get_ancestor)
    end

    it 'gets an ancestor based on type' do
      (nodule.instance_method(:get_ancestor).arity == 1).should be_true
    end

    it 'raises and exception if an unknown ancestor type is requested' do
      expect { nested_element.get_ancestor(:bad_ancestor_type) }.to raise_exception(ArgumentError)
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cuke_modeler-0.4.1 spec/unit/nested_unit_spec.rb
cuke_modeler-0.4.0 spec/unit/nested_unit_spec.rb