Sha256: b4d0e8eceb317bb2ac4e87ce2eedd82ba2910433afc313a85b3dd4e1d86137bd

Contents?: true

Size: 995 Bytes

Versions: 1

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

RSpec.describe Mutant::Loader, '.call' do
  subject do
    described_class.call(
      binding: binding,
      kernel:  kernel,
      source:  source,
      subject: mutation_subject
    )
  end

  let(:path)     { instance_double(Pathname, to_s: path_str) }
  let(:path_str) { instance_double(String)                   }
  let(:line)     { instance_double(0.class)                  }
  let(:kernel)   { class_double(Kernel)                      }
  let(:binding)  { instance_double(Binding)                  }
  let(:source)   { instance_double(String)                   }
  let(:node)     { instance_double(Parser::AST::Node)        }

  let(:mutation_subject) do
    instance_double(
      Mutant::Subject,
      source_path: path,
      source_line: line
    )
  end

  it 'performs expected kernel interaction' do
    expect(kernel).to receive(:eval)
      .with(
        source,
        binding,
        path_str,
        line
      )

    subject
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mutant-0.8.23 spec/unit/mutant/loader_spec.rb