parent
dff4aa9277
commit
28cad68acc
2 changed files with 27 additions and 0 deletions
|
@ -98,11 +98,24 @@ module Mutant
|
||||||
#
|
#
|
||||||
def normal_dispatch
|
def normal_dispatch
|
||||||
emit_naked_receiver
|
emit_naked_receiver
|
||||||
|
emit_selector_mutations
|
||||||
mutate_receiver
|
mutate_receiver
|
||||||
emit_argument_propagation
|
emit_argument_propagation
|
||||||
mutate_arguments
|
mutate_arguments
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Emit selector mutations
|
||||||
|
#
|
||||||
|
# @return [undefined]
|
||||||
|
#
|
||||||
|
# @api private
|
||||||
|
#
|
||||||
|
def emit_selector_mutations
|
||||||
|
if selector == :send
|
||||||
|
emit_selector(:public_send)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Emit naked receiver mutation
|
# Emit naked receiver mutation
|
||||||
#
|
#
|
||||||
# @return [undefined]
|
# @return [undefined]
|
||||||
|
|
|
@ -5,6 +5,20 @@ require 'spec_helper'
|
||||||
# FIXME: This spec needs to be structured better!
|
# FIXME: This spec needs to be structured better!
|
||||||
describe Mutant::Mutator, 'send' do
|
describe Mutant::Mutator, 'send' do
|
||||||
|
|
||||||
|
context 'when using Kernel#send' do
|
||||||
|
let(:source) { 'foo.send(bar)' }
|
||||||
|
|
||||||
|
let(:mutations) do
|
||||||
|
mutations = []
|
||||||
|
mutations << 'foo.send'
|
||||||
|
mutations << 'foo.public_send(bar)'
|
||||||
|
mutations << 'bar'
|
||||||
|
mutations << 'foo'
|
||||||
|
end
|
||||||
|
|
||||||
|
it_should_behave_like 'a mutator'
|
||||||
|
end
|
||||||
|
|
||||||
context 'inside op assign' do
|
context 'inside op assign' do
|
||||||
let(:source) { 'self.foo ||= expression' }
|
let(:source) { 'self.foo ||= expression' }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue