Sha256: 7461843dd02423e7811e78a9e29b7e32cdb049c026abd105bd332629ef09a94a

Contents?: true

Size: 978 Bytes

Versions: 13

Compression:

Stored size: 978 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe Mutant::Loader::Eval, '.call' do

  subject { object.call(node, mutation_subject) }

  let(:object) { described_class }
  let(:path)   { __FILE__        }
  let(:line)   { 1               }

  let(:mutation_subject) do
    double('Subject', source_path: path, source_line: line)
  end

  before do
    expect(mutation_subject).to receive(:prepare).and_return(mutation_subject)
  end

  let(:source) do
    <<-RUBY
      class SomeNamespace
        class Bar
          def some_method
          end
        end

        class SomeOther
          class Foo < Bar
          end
        end
      end
    RUBY
  end

  let(:node) do
    parse(source)
  end

  it 'should load nodes into vm' do
    subject
    ::SomeNamespace::SomeOther::Foo
  end

  it 'should set file and line correctly' do
    subject
    expect(::SomeNamespace::Bar
      .instance_method(:some_method)
      .source_location).to eql([__FILE__, 3])
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mutant-0.5.19 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.18 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.17 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.16 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.15 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.14 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.13 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.12 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.11 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.10 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.9 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.8 spec/unit/mutant/loader/eval_spec.rb
mutant-0.5.7 spec/unit/mutant/loader/eval_spec.rb