@@ -24,16 +24,24 @@ module Mocks
24
24
receiver . foo ( 1.1 )
25
25
end
26
26
27
- it 'allows a `do...end` block implementation to be provided' do
28
- wrapped . to receive ( :foo ) do
29
- 4
30
- end
27
+ context 'without yielding receiver' do
28
+ # when `yield_receiver_to_any_instance_implementation_blocks` is `true`
29
+ # the block arguments are different for `expect` and `expect_any_instance_of`
30
+ around do |example |
31
+ previous_value = RSpec ::Mocks . configuration . yield_receiver_to_any_instance_implementation_blocks?
32
+ RSpec ::Mocks . configuration . yield_receiver_to_any_instance_implementation_blocks = false
33
+ example . run
34
+ RSpec ::Mocks . configuration . yield_receiver_to_any_instance_implementation_blocks = previous_value
35
+ end
36
+
37
+ it 'allows a `do...end` block implementation to be provided' do
38
+ wrapped . to receive ( :foo ) do
39
+ 4
40
+ end
31
41
32
- expect ( receiver . foo ) . to eq ( 4 )
33
- end
42
+ expect ( receiver . foo ) . to eq ( 4 )
43
+ end
34
44
35
- if RSpec ::Support ::RubyFeatures . kw_args_supported?
36
- binding . eval ( <<-RUBY , __FILE__ , __LINE__ )
37
45
it 'allows a `do...end` block implementation with keyword args to be provided' do
38
46
wrapped . to receive ( :foo ) do |**kwargs |
39
47
kwargs [ :kw ]
@@ -57,19 +65,14 @@ module Mocks
57
65
58
66
expect ( receiver . foo ) . to eq ( :arg )
59
67
end
60
- RUBY
61
- end
62
68
63
- if RSpec ::Support ::RubyFeatures . required_kw_args_supported?
64
- binding . eval ( <<-RUBY , __FILE__ , __LINE__ )
65
69
it 'allows a `do...end` block implementation with required keyword args' do
66
70
wrapped . to receive ( :foo ) do |kw :|
67
71
kw
68
72
end
69
73
70
74
expect ( receiver . foo ( kw : :arg ) ) . to eq ( :arg )
71
75
end
72
- RUBY
73
76
end
74
77
75
78
it 'allows chaining off a `do...end` block implementation to be provided' do
0 commit comments