Sha256: 995b9860d49b31ab83baaeb30d3c3827f16b1caf49a922c25cba32ec532d798c

Contents?: true

Size: 838 Bytes

Versions: 7

Compression:

Stored size: 838 Bytes

Contents

shared_examples_for 'a method matcher' do

  before { subject }

  let(:node)              { mutation_subject.node    }
  let(:context)           { mutation_subject.context }
  let(:mutation_subject)  { yields.first             }

  it 'should return one subject' do
    expect(yields.size).to be(1)
  end

  it_should_behave_like 'an #each method'

  it 'should have correct method name' do
    expect(name).to eql(method_name)
  end

  it 'should have correct line number' do
    expect(node.location.expression.line - base).to eql(method_line)
  end

  it 'should have correct arity' do
    expect(arguments.children.length).to eql(method_arity)
  end

  it 'should have correct scope in context' do
    expect(context.scope).to eql(scope)
  end

  it 'should have the correct node type' do
    expect(node.type).to be(type)
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mutant-0.5.26 spec/shared/method_matcher_behavior.rb
mutant-0.5.25 spec/shared/method_matcher_behavior.rb
mutant-0.5.24 spec/shared/method_matcher_behavior.rb
mutant-0.5.23 spec/shared/method_matcher_behavior.rb
mutant-0.5.22 spec/shared/method_matcher_behavior.rb
mutant-0.5.21 spec/shared/method_matcher_behavior.rb
mutant-0.5.20 spec/shared/method_matcher_behavior.rb