Sha256: 679a2c4fdc25749f248c0b3de07698d35bb0ec873aefff4fefc9d9a56d0b2c7b

Contents?: true

Size: 929 Bytes

Versions: 51

Compression:

Stored size: 929 Bytes

Contents

RSpec.shared_examples_for 'MetasploitDataModels::Search::Visitor::Includes#visit with #children' do
  let(:children) do
    2.times.collect { |n|
      double("Child #{n}")
    }
  end

  let(:node) do
    node_class.new(
        :children => children
    )
  end

  it 'should visit each child' do
    # needed for call to visit subject
    expect(visitor).to receive(:visit).with(node).and_call_original

    children.each do |child|
      expect(visitor).to receive(:visit).with(child).and_return([])
    end

    visit
  end

  it 'should return Array of all child visits' do
    child_visits = []

    expect(visitor).to receive(:visit).with(node).and_call_original

    children.each_with_index do |child, i|
      child_visit = ["Visited Child #{i}"]
      allow(visitor).to receive(:visit).with(child).and_return(child_visit)
      child_visits.concat(child_visit)
    end

    expect(visit).to eq(child_visits)
  end
end

Version data entries

51 entries across 51 versions & 2 rubygems

Version Path
metasploit_data_models-6.0.6 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
wg-metasploit_data_models-4.1.4.02 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.5 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.4 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.3 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.2 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.1 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-6.0.0 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.6 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.5 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.4 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.3 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.2 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.1 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-5.0.0 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-4.1.4 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-4.1.3 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-4.1.2 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-4.1.1 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
metasploit_data_models-4.1.0 spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb