Sha256: b46c64107cefd804481aa20f06989cf8be956a46a2e4e67d9b37e6759af07f0b

Contents?: true

Size: 821 Bytes

Versions: 3

Compression:

Stored size: 821 Bytes

Contents

shared_examples_for 'a method matcher' do
  before do
    subject
  end

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

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

  it_should_behave_like 'an #each method'

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

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

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

  it 'should have correct scope in context' do
    context.send(:scope).should eql(scope)
  end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mutant-0.3.0.beta4 spec/shared/method_matcher_behavior.rb
mutant-0.3.0.beta3 spec/shared/method_matcher_behavior.rb
mutant-0.3.0.beta2 spec/shared/method_matcher_behavior.rb