Reduce public interface of Subject
This commit is contained in:
parent
87f4d0bd15
commit
84b259ab6a
3 changed files with 5 additions and 16 deletions
|
@ -99,7 +99,7 @@ module Mutant
|
|||
# @api private
|
||||
#
|
||||
def root
|
||||
subject.root(node)
|
||||
subject.context.root(node)
|
||||
end
|
||||
|
||||
# Evil mutation that should case mutations to fail tests
|
||||
|
|
|
@ -88,18 +88,6 @@ module Mutant
|
|||
end
|
||||
memoize :source
|
||||
|
||||
# Return root AST for node
|
||||
#
|
||||
# @param [Parser::AST::Node] node
|
||||
#
|
||||
# @return [Parser::AST::Node]
|
||||
#
|
||||
# @api private
|
||||
#
|
||||
def root(node)
|
||||
context.root(node)
|
||||
end
|
||||
|
||||
# Return match expression
|
||||
#
|
||||
# @return [Expression]
|
||||
|
|
|
@ -4,8 +4,9 @@ RSpec.describe Mutant::Mutation do
|
|||
SYMBOL = 'test'.freeze
|
||||
end
|
||||
|
||||
let(:object) { TestMutation.new(mutation_subject, Mutant::AST::Nodes::N_NIL) }
|
||||
let(:mutation_subject) { double('Subject', identification: 'subject', source: 'original') }
|
||||
let(:object) { TestMutation.new(mutation_subject, Mutant::AST::Nodes::N_NIL) }
|
||||
let(:mutation_subject) { double('Subject', identification: 'subject', context: context, source: 'original') }
|
||||
let(:context) { double('Context') }
|
||||
|
||||
describe '#code' do
|
||||
subject { object.code }
|
||||
|
@ -31,7 +32,7 @@ RSpec.describe Mutant::Mutation do
|
|||
before do
|
||||
expect(mutation_subject).to receive(:public?).ordered.and_return(true)
|
||||
expect(mutation_subject).to receive(:prepare).ordered
|
||||
expect(mutation_subject).to receive(:root).ordered.with(s(:nil)).and_return(wrapped_node)
|
||||
expect(context).to receive(:root).ordered.with(s(:nil)).and_return(wrapped_node)
|
||||
expect(Mutant::Loader::Eval).to receive(:call).ordered.with(wrapped_node, mutation_subject).and_return(nil)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue