Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit e6e0ef0

Browse files
committed
Fix jruby test by removing the receiver from the block args
1 parent 585bc7e commit e6e0ef0

File tree

1 file changed

+43
-32
lines changed

1 file changed

+43
-32
lines changed

spec/rspec/mocks/matchers/receive_spec.rb

Lines changed: 43 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -54,52 +54,63 @@ module Mocks
5454
receiver.foo(1.1)
5555
end
5656

57-
it 'allows a `do...end` block implementation to be provided' do
58-
wrapped.to receive(:foo) do
59-
4
57+
context 'without yielding receiver' do
58+
# when `yield_receiver_to_any_instance_implementation_blocks` is `true`
59+
# the block arguments are different for `expect` and `expect_any_instance_of`
60+
around do |example|
61+
previous_value = RSpec::Mocks.configuration.yield_receiver_to_any_instance_implementation_blocks?
62+
RSpec::Mocks.configuration.yield_receiver_to_any_instance_implementation_blocks = false
63+
example.run
64+
RSpec::Mocks.configuration.yield_receiver_to_any_instance_implementation_blocks = previous_value
65+
end
66+
67+
it 'allows a `do...end` block implementation to be provided' do
68+
wrapped.to receive(:foo) do
69+
4
70+
end
71+
72+
expect(receiver.foo).to eq(4)
6073
end
6174

62-
expect(receiver.foo).to eq(4)
63-
end
75+
if RSpec::Support::RubyFeatures.kw_args_supported?
76+
binding.eval(<<-RUBY, __FILE__, __LINE__)
77+
it 'allows a `do...end` block implementation with keyword args to be provided' do
78+
wrapped.to receive(:foo) do |**kwargs|
79+
kwargs[:kw]
80+
end
6481
65-
if RSpec::Support::RubyFeatures.kw_args_supported?
66-
binding.eval(<<-RUBY, __FILE__, __LINE__)
67-
it 'allows a `do...end` block implementation with keyword args to be provided' do
68-
wrapped.to receive(:foo) do |**kwargs|
69-
kwargs[:kw]
82+
expect(receiver.foo(kw: :arg)).to eq(:arg)
7083
end
7184
72-
expect(receiver.foo(kw: :arg)).to eq(:arg)
73-
end
85+
it 'allows a `do...end` block implementation with optional keyword args to be provided' do
86+
wrapped.to receive(:foo) do |kw: :arg|
87+
kw
88+
end
7489
75-
it 'allows a `do...end` block implementation with optional keyword args to be provided' do
76-
wrapped.to receive(:foo) do |kw: :arg|
77-
kw
90+
expect(receiver.foo(kw: 1)).to eq(1)
7891
end
7992
80-
expect(receiver.foo(kw: 1)).to eq(1)
81-
end
93+
it 'allows a `do...end` block implementation with optional keyword args to be provided' do
94+
wrapped.to receive(:foo) do |kw: :arg|
95+
kw
96+
end
8297
83-
it 'allows a `do...end` block implementation with optional keyword args to be provided' do
84-
wrapped.to receive(:foo) do |kw: :arg|
85-
kw
98+
expect(receiver.foo).to eq(:arg)
8699
end
87-
88-
expect(receiver.foo).to eq(:arg)
100+
RUBY
89101
end
90-
RUBY
91-
end
92102

93-
if RSpec::Support::RubyFeatures.required_kw_args_supported?
94-
binding.eval(<<-RUBY, __FILE__, __LINE__)
95-
it 'allows a `do...end` block implementation with required keyword args' do
96-
wrapped.to receive(:foo) do |kw:|
97-
kw
98-
end
103+
if RSpec::Support::RubyFeatures.required_kw_args_supported?
104+
binding.eval(<<-RUBY, __FILE__, __LINE__)
105+
it 'allows a `do...end` block implementation with required keyword args' do
106+
wrapped.to receive(:foo) do |kw:|
107+
kw
108+
end
99109
100-
expect(receiver.foo(kw: :arg)).to eq(:arg)
110+
expect(receiver.foo(kw: :arg)).to eq(:arg)
111+
end
112+
RUBY
101113
end
102-
RUBY
103114
end
104115

105116
it 'allows chaining off a `do...end` block implementation to be provided' do

0 commit comments

Comments
 (0)