Sha256: 2597de7d3dc35eef0bbbaa47ec5f3359b11d4ab1344f47194c111af15c3bf118

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

shared_examples_for 'a nested element' do |clazz|

  before(:each) do
    @nested_element = clazz.new
  end

  it 'has a parent element - #parent_element' do
    expect(@nested_element.respond_to?(:parent_element)).to be true
  end

  it 'can get and set its parent element - #parent_element, #parent_element=' do
    @nested_element.parent_element = :some_parent_element
    expect(@nested_element.parent_element).to eq(:some_parent_element)
    @nested_element.parent_element = :some_other_parent_element
    expect(@nested_element.parent_element).to eq(:some_other_parent_element)
  end

  it 'starts with no parent element' do
    expect(@nested_element.parent_element).to be_nil
  end

  it 'has access to its ancestors' do
    expect(@nested_element.respond_to?(:get_ancestor)).to be true
  end

  it 'gets an ancestor based on type' do
    expect(clazz.instance_method(:get_ancestor).arity == 1).to 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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cucumber_analytics-1.5.2 spec/unit/nested_element_unit_specs.rb