Sha256: b2ab22c0a3e70bdcd44d7203c67b5f977c66282134aa1554f43c7f388c339903

Contents?: true

Size: 953 Bytes

Versions: 6

Compression:

Stored size: 953 Bytes

Contents

RSpec.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).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 source path in context' do
    expect(context.source_path).to eql(source_path)
  end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mutant-0.8.7 spec/shared/method_matcher_behavior.rb
mutant-0.8.6 spec/shared/method_matcher_behavior.rb
mutant-0.8.5 spec/shared/method_matcher_behavior.rb
mutant-0.8.4 spec/shared/method_matcher_behavior.rb
mutant-0.8.3 spec/shared/method_matcher_behavior.rb
mutant-0.8.2 spec/shared/method_matcher_behavior.rb