rspec-mocks 3.13.0 → 3.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71211650b0472cd386136d98bc36d04f66c9944aa4ef5da7bf72541c6847b0d3
4
- data.tar.gz: e0fe8ffaa23df6885b6be3b11a1ed53a65ab750c7e969d0477a3a0af6ef343a0
3
+ metadata.gz: df5f0cc9f39c7b8143bdf25e4b257a2ece85d0ce3b132d4a37b3cc569d6ef94e
4
+ data.tar.gz: 30ae99bd407c4e45996ddfa971ee376e8f3521a026ce4fe6af0e4cb8ec452f60
5
5
  SHA512:
6
- metadata.gz: 3d389141c0abec2c4bae1008f96b34978b6d576d2ed229f96ca1eff3af1bf47a78d95d37f30630e7dbd0346483b140982d2a3aa2b80663058e61b7ba4fe4fec5
7
- data.tar.gz: 21c8cab0cf3ec3ea8dcc485dcd36301bea5dba1f4828c0f924d0e32f028870f3b3e793adb4553dc09931ec33bd0990189c5c36b24bb7cb166fd0635bdff4b2e7
6
+ metadata.gz: cd2282442579d7e2a393ed94cd23161d671f9135996db2553f4714c8727ef7f2bf7fdd4be4cf4d6db44328a0434c71474633fbe108fb3b0c715d2d028749563c
7
+ data.tar.gz: 7cc97b1522fd69ae712a23c21953e165db5790ccc6dbdab3f06b66384bd485af31f4dfb7553fb9f2ee0ac877112ecf4d8194a8f3079a352f994a38a519e5508c
checksums.yaml.gz.sig CHANGED
Binary file
data/Changelog.md CHANGED
@@ -1,19 +1,78 @@
1
1
  ### Development
2
- [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.13.0...main)
2
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.7...3-13-maintenance)
3
+
4
+ ### 3.13.7 / 2025-10-31
5
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.6...rspec-mocks-v3.13.7)
6
+
7
+ Bug Fixes:
8
+
9
+ * Special case `to_h`, `to_hash` responses on null objects, prevents an issue with Rails. (Jon Rowe, rspec/rspec#275)
10
+
11
+ ### 3.13.6 / 2025-10-14
12
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.5...rspec-mocks-v3.13.6)
13
+
14
+ Bug Fixes:
15
+
16
+ * Work around possible infinite loop when stubbing `is_a?`. (Erin Paget, rspec/rspec#265)
17
+
18
+ ### 3.13.5 / 2025-05-27
19
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.4...rspec-mocks-v3.13.5)
20
+
21
+ Bug Fixes:
22
+
23
+ * Fix regression where a previous fix (rspec/rspec#214) would leave behind thread data
24
+ between tests. (Jon Rowe, rspec/rspec#219)
25
+ * Fix links in gemspec to point to monorepo / homepage. (Jon Rowe)
26
+
27
+ ### 3.13.4 / 2025-05-05
28
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.3...rspec-mocks-v3.13.4)
29
+
30
+ Bug Fixes:
31
+
32
+ * Fix regression where nested stubbed method calls would inadvertently not be counted.
33
+ (Jon Rowe, rspec/rspec#214)
34
+ * Fix regression where keyword arguments would not be passed through to nested stubbed
35
+ method calls. (Jon Rowe, rspec/rspec#214)
36
+
37
+ ### 3.13.3 / 2025-05-01
38
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.2...rspec-mocks-v3.13.3)
39
+
40
+ Bug Fixes:
41
+
42
+ * When stubbing methods using the `expect_any_instance_of` or `allow_any_instance_of`
43
+ ensure the stubbed method has the same visibility as the real method.
44
+ (Jon Rowe, rspec/rspec-mocks#1596)
45
+ * Prevent recursive calls to stubbed methods during stub invocation.
46
+ (James Dabbs, rspec/rspec#116, rspec/rspec#156)
47
+
48
+ ### 3.13.2 / 2024-10-02
49
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.13.1...v3.13.2)
50
+
51
+ Bug Fixes:
52
+
53
+ * Support keyword arguments in callables passed to `and_invoke`. (Jon Rowe, rspec/rspec-mocks#1595)
54
+
55
+ ### 3.13.1 / 2024-05-08
56
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.13.0...v3.13.1)
57
+
58
+ Bug Fixes:
59
+
60
+ * Use `RSpec::Support::Mutex` in `RSpec::Mocks::Proxy` to avoid issues from
61
+ stubbing `::Mutex#new`. (Eric Mueller, rspec/rspec-mocks#1575)
3
62
 
4
63
  ### 3.13.0 / 2024-02-04
5
64
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.7...v3.13.0)
6
65
 
7
66
  Enhancements:
8
67
 
9
- * Add an `array_excluding` matcher for arguments. (Zane Wolfgang Pickett, #1528)
68
+ * Add an `array_excluding` matcher for arguments. (Zane Wolfgang Pickett, rspec/rspec-mocks#1528)
10
69
 
11
70
  ### 3.12.7 / 2024-02-04
12
71
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.6...v3.12.7)
13
72
 
14
73
  Bug Fixes:
15
74
 
16
- * Reduce allocations from "any_instance" style mocks. (Carlos Palhares, #1479)
75
+ * Reduce allocations from "any_instance" style mocks. (Carlos Palhares, rspec/rspec-mocks#1479)
17
76
 
18
77
  ### 3.12.6 / 2023-07-11
19
78
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.5...v3.12.6)
@@ -21,7 +80,7 @@ Bug Fixes:
21
80
  Bug Fixes:
22
81
 
23
82
  * Fix an issue with `and_call_original` when using the `method_missing` fallback
24
- with keyword arguments. (Igor Drozdov, #1552)
83
+ with keyword arguments. (Igor Drozdov, rspec/rspec-mocks#1552)
25
84
 
26
85
  ### 3.12.5 / 2023-03-30
27
86
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.4...v3.12.5)
@@ -29,16 +88,16 @@ Bug Fixes:
29
88
  Bug Fixes:
30
89
 
31
90
  * Fix compatibility issue with Rails where active_support monkey patches `with`
32
- when using any instance. (Lachlan Sylvester, #1540)
91
+ when using any instance. (Lachlan Sylvester, rspec/rspec-mocks#1540)
33
92
 
34
93
  ### 3.12.4 / 2023-03-12
35
94
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.3...v3.12.4)
36
95
 
37
96
  Bug Fixes:
38
97
 
39
- * Fix an issue with asserting that Array#reverse is never called. (Brad Trick, #1533)
98
+ * Fix an issue with asserting that Array#reverse is never called. (Brad Trick, rspec/rspec-mocks#1533)
40
99
  * Fix compatibility issue with Rails where active_support monkey patches `with`.
41
- (Jean Boussier, #1531, #1534)
100
+ (Jean Boussier, rspec/rspec-mocks#1531, rspec/rspec-mocks#1534)
42
101
 
43
102
  ### 3.12.3 / 2023-01-17
44
103
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.2...v3.12.3)
@@ -46,7 +105,7 @@ Bug Fixes:
46
105
  Bug Fixes:
47
106
 
48
107
  * Fix keyword delegation in `send` for verifying doubles on Ruby 3.
49
- (Charlie Honig, #1485)
108
+ (Charlie Honig, rspec/rspec-mocks#1485)
50
109
 
51
110
  ### 3.12.2 / 2023-01-07
52
111
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.1...v3.12.2)
@@ -54,24 +113,24 @@ Bug Fixes:
54
113
  Bug Fixes:
55
114
 
56
115
  * Fix implementation blocks for mocks using keyword arguments on Ruby 3.2.0.
57
- (Adam Steel, #1508)
116
+ (Adam Steel, rspec/rspec-mocks#1508)
58
117
  * Fix keyword argument assertions when mocking using `with` on Ruby 3.2.0.
59
- (Slava Kardakov, Benoit Tigeot, Phil Pirozhkov, Benoit Daloze, #1514)
118
+ (Slava Kardakov, Benoit Tigeot, Phil Pirozhkov, Benoit Daloze, rspec/rspec-mocks#1514)
60
119
 
61
120
  ### 3.12.1 / 2022-12-10
62
121
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.0...v3.12.1)
63
122
 
64
123
  Bug Fixes:
65
124
 
66
- * Remove empty diff marker when a diff only contains console codes. (Jon Rowe, #1506)
67
- * Show keyword vs hash diff marker when arguments are not `==` (Jon Rowe, #1506)
125
+ * Remove empty diff marker when a diff only contains console codes. (Jon Rowe, rspec/rspec-mocks#1506)
126
+ * Show keyword vs hash diff marker when arguments are not `==` (Jon Rowe, rspec/rspec-mocks#1506)
68
127
  * Change check to detect frozen objects to rescue errors rather than
69
128
  pre-empting by checking `frozen?` due to some objects mis-behaving.
70
- (Keegan Roth, #1401)
129
+ (Keegan Roth, rspec/rspec-mocks#1401)
71
130
  * Prevent unfulfilled expectations using `expect_any_instance_of` across a class
72
- inheritance boundary from raising rather than failing. (Jon Rowe, #1496)
131
+ inheritance boundary from raising rather than failing. (Jon Rowe, rspec/rspec-mocks#1496)
73
132
  * Prevent a misleading error message when using `allow(...).not_to` with
74
- unsupported matchers. (Phil Pirozhkov, #1503)
133
+ unsupported matchers. (Phil Pirozhkov, rspec/rspec-mocks#1503)
75
134
 
76
135
  ### 3.12.0 / 2022-10-26
77
136
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.2...v3.12.0)
@@ -79,7 +138,7 @@ Bug Fixes:
79
138
  Enhancements:
80
139
 
81
140
  * Improve diff output when diffing keyword arguments against hashes.
82
- (Jean Boussier, #1461)
141
+ (Jean Boussier, rspec/rspec-mocks#1461)
83
142
 
84
143
  ### 3.11.2 / 2022-10-25
85
144
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...v3.11.2)
@@ -88,9 +147,9 @@ Bug Fixes:
88
147
 
89
148
  * Use the original implementation of `Class.new` to detect overridden definitions
90
149
  of `new` rather than the owner, fixing detection of "double aliased" methods
91
- in Ruby 3 and above. (Benoit Daloze, #1470, #1476)
150
+ in Ruby 3 and above. (Benoit Daloze, rspec/rspec-mocks#1470, rspec/rspec-mocks#1476)
92
151
  * Support keyword argument semantics when constraining argument expectations using
93
- `with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, #1473)
152
+ `with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, rspec/rspec-mocks#1473)
94
153
 
95
154
  ### 3.11.1 / 2022-03-31
96
155
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.0...v3.11.1)
@@ -99,7 +158,7 @@ Bug Fixes:
99
158
 
100
159
  * Add extra `ruby2_keywords` calls to properly designate methods using
101
160
  `*args` to pass keyword around, fixes an issue with TruffleRuby.
102
- (Benoit Daloze, #1464)
161
+ (Benoit Daloze, rspec/rspec-mocks#1464)
103
162
 
104
163
  ### 3.11.0 / 2022-02-09
105
164
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.3...v3.11.0)
@@ -107,16 +166,16 @@ Bug Fixes:
107
166
  Enhancements:
108
167
 
109
168
  * Add `and_invoke` implementation for configuring responses to `receive`
110
- (and `receive_messages`) with multiple callable objects. (Kyle Smith, #1411)
169
+ (and `receive_messages`) with multiple callable objects. (Kyle Smith, rspec/rspec-mocks#1411)
111
170
 
112
171
  ### 3.10.3 / 2022-01-28
113
172
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.2...v3.10.3)
114
173
 
115
174
  Bug Fixes:
116
175
 
117
- * Suppress warning by setting `$VERBOSE` to nil. (Nobuyoshi Nakada, #1414)
176
+ * Suppress warning by setting `$VERBOSE` to nil. (Nobuyoshi Nakada, rspec/rspec-mocks#1414)
118
177
  * Support keyword argument semantics when constraining argument expectations using
119
- `with` on Ruby 3.0+ (Yusuke Endoh, #1394)
178
+ `with` on Ruby 3.0+ (Yusuke Endoh, rspec/rspec-mocks#1394)
120
179
 
121
180
  ### 3.10.2 / 2021-01-27
122
181
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.1...v3.10.2)
@@ -124,12 +183,12 @@ Bug Fixes:
124
183
  Bug Fixes:
125
184
 
126
185
  * Support keyword arguments with `and_call_original` on Ruby 3.0.
127
- (Bryan Powell, #1385)
186
+ (Bryan Powell, rspec/rspec-mocks#1385)
128
187
  * `RSpec::Mocks::Constant#previously_defined?` is now always a boolean.
129
- (Phil Pirozhkov, #1397)
188
+ (Phil Pirozhkov, rspec/rspec-mocks#1397)
130
189
  * Support keyword arguments on Ruby 3.0 when used with `expect_any_instance_of`
131
190
  or `allow_any_instance_of` with `and_call_original`.
132
- (Jess Hottenstein, #1407)
191
+ (Jess Hottenstein, rspec/rspec-mocks#1407)
133
192
 
134
193
  ### 3.10.1 / 2020-12-27
135
194
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.0...v3.10.1)
@@ -137,7 +196,7 @@ Bug Fixes:
137
196
  Bug Fixes:
138
197
 
139
198
  * Issue `ArgumentError` rather than `TypeError` when unsupported methods on
140
- unsupported objects are attempted to be stubbed. (@zhisme, #1357)
199
+ unsupported objects are attempted to be stubbed. (@zhisme, rspec/rspec-mocks#1357)
141
200
 
142
201
  ### 3.10.0 / 2020-10-30
143
202
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.1...v3.10.0)
@@ -145,9 +204,9 @@ Bug Fixes:
145
204
  Enhancements:
146
205
  * Add the ability to set a custom error generator in `MessageExpectation`.
147
206
  This will allow rspec-expectations to inject a custom failure message.
148
- (Benoit Tigeot and Nicolas Zermati, #1312)
207
+ (Benoit Tigeot and Nicolas Zermati, rspec/rspec-mocks#1312)
149
208
  * Return the result of the block passed to `RSpec::Mocks.with_temporary_scope`
150
- when block run. (@expeehaa, #1329)
209
+ when block run. (@expeehaa, rspec/rspec-mocks#1329)
151
210
 
152
211
  ### 3.9.1 / 2019-12-31
153
212
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.0...v3.9.1)
@@ -155,7 +214,7 @@ Enhancements:
155
214
  Bug Fixes:
156
215
 
157
216
  * Trigger `RSpec::Mocks.configuration.verifying_double_callbacks` when using
158
- `allow_any_instance_of` or `expect_any_instance_of` (Daniel Orner, #1309)
217
+ `allow_any_instance_of` or `expect_any_instance_of` (Daniel Orner, rspec/rspec-mocks#1309)
159
218
 
160
219
  ### 3.9.0 / 2019-10-07
161
220
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.2...v3.9.0)
@@ -163,16 +222,16 @@ Bug Fixes:
163
222
  Enhancements:
164
223
 
165
224
  * Improve thread safety of message expectations by using Mutex to prevent
166
- deadlocking errors. (Ry Biesemeyer, #1236)
225
+ deadlocking errors. (Ry Biesemeyer, rspec/rspec-mocks#1236)
167
226
  * Add the ability to use `time` as an alias for `times`. For example:
168
227
  `expect(Class).to receive(:method).exactly(1).time`.
169
- (Pistos, Benoit Tigeot, #1271)
228
+ (Pistos, Benoit Tigeot, rspec/rspec-mocks#1271)
170
229
 
171
230
  ### 3.8.2 / 2019-10-02
172
231
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.1...v3.8.2)
173
232
 
174
233
  * Allow `array_including` argument matchers to be nested.
175
- (Emmanuel Delmas, #1291)
234
+ (Emmanuel Delmas, rspec/rspec-mocks#1291)
176
235
 
177
236
  ### 3.8.1 / 2019-06-13
178
237
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.0...v3.8.1)
@@ -180,7 +239,7 @@ Enhancements:
180
239
  Bug Fixes:
181
240
 
182
241
  * Ensure stubbing methods does not change their visibility.
183
- (Kevin Boschert, #1277)
242
+ (Kevin Boschert, rspec/rspec-mocks#1277)
184
243
 
185
244
  ### 3.8.0 / 2018-08-04
186
245
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.7.0...v3.8.0)
@@ -188,12 +247,12 @@ Bug Fixes:
188
247
  Bug Fixes:
189
248
 
190
249
  * Issue error when encountering invalid "counted" negative message expectations.
191
- (Sergiy Yarinovskiy, #1212)
250
+ (Sergiy Yarinovskiy, rspec/rspec-mocks#1212)
192
251
  * Ensure `allow_any_instance_of` and `expect_any_instance_of` can be temporarily
193
- supressed. (Jon Rowe, #1228)
252
+ supressed. (Jon Rowe, rspec/rspec-mocks#1228)
194
253
  * Ensure `expect_any_instance_of(double).to_not have_received(:some_method)`
195
254
  fails gracefully (as its not supported) rather than issuing a `NoMethodError`.
196
- (Maxim Krizhanovsky, #1231)
255
+ (Maxim Krizhanovsky, rspec/rspec-mocks#1231)
197
256
 
198
257
  ### 3.7.0 / 2017-10-17
199
258
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0...v3.7.0)
@@ -201,12 +260,12 @@ Bug Fixes:
201
260
  Enhancements:
202
261
 
203
262
  * Improve compatibility with `--enable-frozen-string-literal` option
204
- on Ruby 2.3+. (Pat Allan, #1165)
263
+ on Ruby 2.3+. (Pat Allan, rspec/rspec-mocks#1165)
205
264
 
206
265
  Bug Fixes:
207
266
 
208
267
  * Fix `hash_including` and `hash_excluding` so that they work against
209
- subclasses of `Hash`. (Aaron Rosenberg, #1167)
268
+ subclasses of `Hash`. (Aaron Rosenberg, rspec/rspec-mocks#1167)
210
269
 
211
270
  ### 3.6.0 / 2017-05-04
212
271
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta2...v3.6.0)
@@ -214,11 +273,11 @@ Bug Fixes:
214
273
  Bug Fixes:
215
274
 
216
275
  * Fix "instance variable @color not initialized" warning when using
217
- rspec-mocks without rspec-core. (Myron Marston, #1142)
276
+ rspec-mocks without rspec-core. (Myron Marston, rspec/rspec-mocks#1142)
218
277
  * Restore aliased module methods properly when stubbing on 1.8.7.
219
- (Samuel Giddins, #1144)
278
+ (Samuel Giddins, rspec/rspec-mocks#1144)
220
279
  * Allow a message chain expectation to be constrained by argument(s).
221
- (Jon Rowe, #1156)
280
+ (Jon Rowe, rspec/rspec-mocks#1156)
222
281
 
223
282
  ### 3.6.0.beta2 / 2016-12-12
224
283
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta1...v3.6.0.beta2)
@@ -227,16 +286,16 @@ Enhancements:
227
286
 
228
287
  * Add new `without_partial_double_verification { }` API that lets you
229
288
  temporarily turn off partial double verification for an example.
230
- (Jon Rowe, #1104)
289
+ (Jon Rowe, rspec/rspec-mocks#1104)
231
290
 
232
291
  ### 3.6.0.beta1 / 2016-10-09
233
292
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0...v3.6.0.beta1)
234
293
 
235
294
  Bug Fixes:
236
295
 
237
- * Return the test double instance form `#freeze` (Alessandro Berardi, #1109)
296
+ * Return the test double instance form `#freeze` (Alessandro Berardi, rspec/rspec-mocks#1109)
238
297
  * Allow the special logic for stubbing `new` to work when `<Class>.method` has
239
- been redefined. (Proby, #1119)
298
+ been redefined. (Proby, rspec/rspec-mocks#1119)
240
299
 
241
300
  ### 3.5.0 / 2016-07-01
242
301
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta4...v3.5.0)
@@ -244,14 +303,14 @@ Bug Fixes:
244
303
  Enhancements:
245
304
 
246
305
  * Provides a nice string representation of
247
- `RSpec::Mocks::MessageExpectation` (Myron Marston, #1095)
306
+ `RSpec::Mocks::MessageExpectation` (Myron Marston, rspec/rspec-mocks#1095)
248
307
 
249
308
  ### 3.5.0.beta4 / 2016-06-05
250
309
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta3...v3.5.0.beta4)
251
310
 
252
311
  Enhancements:
253
312
 
254
- * Add `and_throw` to any instance handling. (Tobias Bühlmann, #1068)
313
+ * Add `and_throw` to any instance handling. (Tobias Bühlmann, rspec/rspec-mocks#1068)
255
314
 
256
315
  ### 3.5.0.beta3 / 2016-04-02
257
316
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta2...v3.5.0.beta3)
@@ -259,9 +318,9 @@ Enhancements:
259
318
  Enhancements:
260
319
 
261
320
  * Issue warning when attempting to use unsupported
262
- `allow(...).to receive(...).ordered`. (Jon Rowe, #1000)
321
+ `allow(...).to receive(...).ordered`. (Jon Rowe, rspec/rspec-mocks#1000)
263
322
  * Add `rspec/mocks/minitest_integration`, to properly integrate rspec-mocks
264
- with minitest. (Myron Marston, #1065)
323
+ with minitest. (Myron Marston, rspec/rspec-mocks#1065)
265
324
 
266
325
  ### 3.5.0.beta2 / 2016-03-10
267
326
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta1...v3.5.0.beta2)
@@ -269,12 +328,12 @@ Enhancements:
269
328
  Enhancements:
270
329
 
271
330
  * Improve error message displayed when using `and_wrap_original` on pure test
272
- doubles. (betesh, #1063)
331
+ doubles. (betesh, rspec/rspec-mocks#1063)
273
332
 
274
333
  Bug Fixes:
275
334
 
276
335
  * Fix issue that prevented `receive_message_chain(...).with(...)` working
277
- correctly on "any instance" mocks. (Jon Rowe, #1061)
336
+ correctly on "any instance" mocks. (Jon Rowe, rspec/rspec-mocks#1061)
278
337
 
279
338
  ### 3.5.0.beta1 / 2016-02-06
280
339
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.1...v3.5.0.beta1)
@@ -282,20 +341,20 @@ Bug Fixes:
282
341
  Bug Fixes:
283
342
 
284
343
  * Allow `any_instance_of(...).to receive(...)` to use `and_yield` multiple
285
- times. (Kilian Cirera Sant, #1054)
344
+ times. (Kilian Cirera Sant, rspec/rspec-mocks#1054)
286
345
  * Allow matchers which inherit from `rspec-mocks` matchers to be used for
287
- `allow`. (Andrew Kozin, #1056)
346
+ `allow`. (Andrew Kozin, rspec/rspec-mocks#1056)
288
347
  * Prevent stubbing `respond_to?` on partial doubles from causing infinite
289
- recursion. (Jon Rowe, #1013)
348
+ recursion. (Jon Rowe, rspec/rspec-mocks#1013)
290
349
  * Prevent aliased methods from disapearing after being mocked with
291
- `any_instance` (regression from #1043). (Joe Rafaniello, #1060)
350
+ `any_instance` (regression from rspec/rspec-mocks#1043). (Joe Rafaniello, rspec/rspec-mocks#1060)
292
351
 
293
352
  ### 3.4.1 / 2016-01-10
294
353
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.0...v3.4.1)
295
354
 
296
355
  Bug Fixes:
297
356
 
298
- * Fix `any_instance` to work properly on Ruby 2.3. (Joe Rafaniello, #1043)
357
+ * Fix `any_instance` to work properly on Ruby 2.3. (Joe Rafaniello, rspec/rspec-mocks#1043)
299
358
 
300
359
  ### 3.4.0 / 2015-11-11
301
360
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.2...v3.4.0)
@@ -303,18 +362,18 @@ Bug Fixes:
303
362
  Enhancements:
304
363
 
305
364
  * Make `expect(...).to have_received` work without relying upon
306
- rspec-expectations. (Myron Marston, #978)
365
+ rspec-expectations. (Myron Marston, rspec/rspec-mocks#978)
307
366
  * Add option for failing tests when expectations are set on `nil`.
308
- (Liz Rush, #983)
367
+ (Liz Rush, rspec/rspec-mocks#983)
309
368
 
310
369
  Bug Fixes:
311
370
 
312
371
  * Fix `have_received { ... }` so that any block passed when the message
313
- was received is forwarded to the `have_received` block. (Myron Marston, #1006)
372
+ was received is forwarded to the `have_received` block. (Myron Marston, rspec/rspec-mocks#1006)
314
373
  * Fix infinite loop in error generator when stubbing `respond_to?`.
315
- (Alex Dowad, #1022)
374
+ (Alex Dowad, rspec/rspec-mocks#1022)
316
375
  * Fix issue with using `receive` on subclasses (at a class level) with 1.8.7.
317
- (Alex Dowad, #1026)
376
+ (Alex Dowad, rspec/rspec-mocks#1026)
318
377
 
319
378
  ### 3.3.2 / 2015-07-15
320
379
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.1...v3.3.2)
@@ -322,7 +381,7 @@ Bug Fixes:
322
381
  Bug Fixes:
323
382
 
324
383
  * Prevent thread deadlock errors during proxy creation (e.g. when using
325
- `before_verifying_doubles` callbacks). (Jon Rowe, #980, #979)
384
+ `before_verifying_doubles` callbacks). (Jon Rowe, rspec/rspec-mocks#980, rspec/rspec-mocks#979)
326
385
 
327
386
  ### 3.3.1 / 2015-06-19
328
387
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.0...v3.3.1)
@@ -332,7 +391,7 @@ Bug Fixes:
332
391
  * Fix bug in `before_verifying_double` callback logic that caused it to be called
333
392
  once for each class in the ancestor list when mocking or stubbing a class. Now
334
393
  it is only called for the mocked or stubbed class, as you would expect. (Sam
335
- Phippen, #974)
394
+ Phippen, rspec/rspec-mocks#974)
336
395
 
337
396
  ### 3.3.0 / 2015-06-12
338
397
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.1...v3.3.0)
@@ -341,45 +400,45 @@ Enhancements:
341
400
 
342
401
  * When stubbing `new` on `MyClass` or `class_double(MyClass)`, use the
343
402
  method signature from `MyClass#initialize` to verify arguments.
344
- (Myron Marston, #886)
403
+ (Myron Marston, rspec/rspec-mocks#886)
345
404
  * Use matcher descriptions when generating description of received arguments
346
- for mock expectation failures. (Tim Wade, #891)
347
- * Avoid loading `stringio` unnecessarily. (Myron Marston, #894)
405
+ for mock expectation failures. (Tim Wade, rspec/rspec-mocks#891)
406
+ * Avoid loading `stringio` unnecessarily. (Myron Marston, rspec/rspec-mocks#894)
348
407
  * Verifying doubles failure messages now distinguish between class and instance
349
- level methods. (Tim Wade, #896, #908)
408
+ level methods. (Tim Wade, rspec/rspec-mocks#896, rspec/rspec-mocks#908)
350
409
  * Improve mock expectation failure messages so that it combines both
351
- number of times and the received arguments in the output. (John Ceh, #918)
410
+ number of times and the received arguments in the output. (John Ceh, rspec/rspec-mocks#918)
352
411
  * Improve how test doubles are represented in failure messages.
353
- (Siva Gollapalli, Myron Marston, #932)
412
+ (Siva Gollapalli, Myron Marston, rspec/rspec-mocks#932)
354
413
  * Rename `RSpec::Mocks::Configuration#when_declaring_verifying_double` to
355
414
  `RSpec::Mocks::Configuration#before_verifying_doubles` and utilise when
356
- verifying partial doubles. (Jon Rowe, #940)
415
+ verifying partial doubles. (Jon Rowe, rspec/rspec-mocks#940)
357
416
  * Use rspec-support's `ObjectFormatter` for improved formatting of
358
417
  arguments in failure messages so that, for example, full time
359
- precisions is displayed for time objects. (Gavin Miller, Myron Marston, #955)
418
+ precisions is displayed for time objects. (Gavin Miller, Myron Marston, rspec/rspec-mocks#955)
360
419
 
361
420
  Bug Fixes:
362
421
 
363
422
  * Ensure expectations that raise eagerly also raise during RSpec verification.
364
423
  This means that if exceptions are caught inside test execution the test will
365
- still fail. (Sam Phippen, #884)
424
+ still fail. (Sam Phippen, rspec/rspec-mocks#884)
366
425
  * Fix `have_received(msg).with(args).exactly(n).times` and
367
426
  `receive(msg).with(args).exactly(n).times` failure messages
368
427
  for when the message was received the wrong number of times with
369
428
  the specified args, and also received additional times with other
370
429
  arguments. Previously it confusingly listed the arguments as being
371
430
  mis-matched (even when the double was allowed to receive with any
372
- args) rather than listing the count. (John Ceh, #918)
431
+ args) rather than listing the count. (John Ceh, rspec/rspec-mocks#918)
373
432
  * Fix `any_args`/`anything` support so that we avoid calling `obj == anything`
374
433
  on user objects that may have improperly implemented `==` in a way that
375
- raises errors. (Myron Marston, #924)
434
+ raises errors. (Myron Marston, rspec/rspec-mocks#924)
376
435
  * Fix edge case involving stubbing the same method on a class and a subclass
377
- which previously hit a `NoMethodError` internally in RSpec. (Myron Marston #954)
436
+ which previously hit a `NoMethodError` internally in RSpec. (Myron Marston rspec/rspec-mocks#954)
378
437
  * Fix edge case where the message received count would be incremented multiple
379
- times for one failure. (Myron Marston, #957)
438
+ times for one failure. (Myron Marston, rspec/rspec-mocks#957)
380
439
  * Fix failure messages for when spies received the expected message with
381
- different arguments and also received another message. (Maurício Linhares, #960)
382
- * Silence whitespace-only diffs. (Myron Marston, #969)
440
+ different arguments and also received another message. (Maurício Linhares, rspec/rspec-mocks#960)
441
+ * Silence whitespace-only diffs. (Myron Marston, rspec/rspec-mocks#969)
383
442
 
384
443
  ### 3.2.1 / 2015-02-23
385
444
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.0...v3.2.1)
@@ -388,11 +447,11 @@ Bug Fixes:
388
447
 
389
448
  * Add missing `rspec/support/differ` require so that rspec-mocks can be
390
449
  used w/o rspec-expectations (which also loads the differ and hided the
391
- fact we forgot to require it). (Myron Marston, #893)
450
+ fact we forgot to require it). (Myron Marston, rspec/rspec-mocks#893)
392
451
  * Revert tracking of received arg mutation (added in 3.2.0 to provide an
393
452
  error in a situation we can't support) as our implementation has side
394
453
  effects on non-standard objects and there's no solution we could come
395
- up with that always works. (Myron Marston, #900)
454
+ up with that always works. (Myron Marston, rspec/rspec-mocks#900)
396
455
 
397
456
  ### 3.2.0 / 2015-02-03
398
457
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.3...v3.2.0)
@@ -400,55 +459,55 @@ Bug Fixes:
400
459
  Enhancements:
401
460
 
402
461
  * Treat `any_args` as an arg splat, allowing it to match an arbitrary
403
- number of args at any point in an arg list. (Myron Marston, #786)
462
+ number of args at any point in an arg list. (Myron Marston, rspec/rspec-mocks#786)
404
463
  * Print diffs when arguments in mock expectations are mismatched.
405
- (Sam Phippen, #751)
464
+ (Sam Phippen, rspec/rspec-mocks#751)
406
465
  * Support names for verified doubles (`instance_double`, `instance_spy`,
407
466
  `class_double`, `class_spy`, `object_double`, `object_spy`). (Cezary
408
- Baginski, #826)
467
+ Baginski, rspec/rspec-mocks#826)
409
468
  * Make `array_including` and `hash_including` argument matchers composable.
410
- (Sam Phippen, #819)
469
+ (Sam Phippen, rspec/rspec-mocks#819)
411
470
  * Make `allow_any_instance_of(...).to receive(...).and_wrap_original`
412
- work. (Ryan Fitzgerald, #869)
471
+ work. (Ryan Fitzgerald, rspec/rspec-mocks#869)
413
472
 
414
473
  Bug Fixes:
415
474
 
416
475
  * Provide a clear error when users wrongly combine `no_args` with
417
476
  additional arguments (e.g. `expect().to receive().with(no_args, 1)`).
418
- (Myron Marston, #786)
477
+ (Myron Marston, rspec/rspec-mocks#786)
419
478
  * Provide a clear error when users wrongly use `any_args` multiple times in the
420
479
  same argument list (e.g. `expect().to receive().with(any_args, 1, any_args)`.
421
- (Myron Marston, #786)
480
+ (Myron Marston, rspec/rspec-mocks#786)
422
481
  * Prevent the error generator from using user object #description methods.
423
- See [#685](https://github.com/rspec/rspec-mocks/issues/685).
424
- (Sam Phippen, #751)
482
+ See [rspec/rspec-mocks#685](https://github.com/rspec/rspec-mocks/issues/685).
483
+ (Sam Phippen, rspec/rspec-mocks#751)
425
484
  * Make verified doubles declared as `(instance|class)_double(SomeConst)`
426
485
  work properly when `SomeConst` has previously been stubbed.
427
486
  `(instance|class)_double("SomeClass")` already worked properly.
428
- (Myron Marston, #824)
487
+ (Myron Marston, rspec/rspec-mocks#824)
429
488
  * Add a matcher description for `receive`, `receive_messages` and
430
- `receive_message_chain`. (Myron Marston, #828)
489
+ `receive_message_chain`. (Myron Marston, rspec/rspec-mocks#828)
431
490
  * Validate invocation args for null object verified doubles.
432
- (Myron Marston, #829)
491
+ (Myron Marston, rspec/rspec-mocks#829)
433
492
  * Fix `RSpec::Mocks::Constant.original` when called with an invalid
434
493
  constant to return an object indicating the constant name is invalid,
435
- rather than blowing up. (Myron Marston, #833)
494
+ rather than blowing up. (Myron Marston, rspec/rspec-mocks#833)
436
495
  * Make `extend RSpec::Mocks::ExampleMethods` on any object work properly
437
496
  to add the rspec-mocks API to that object. Previously, `expect` would
438
- be undefined. (Myron Marston, #846)
497
+ be undefined. (Myron Marston, rspec/rspec-mocks#846)
439
498
  * Fix `require 'rspec/mocks/standalone'` so that it only affects `main`
440
499
  and not every object. It's really only intended to be used in a REPL
441
500
  like IRB, but some gems have loaded it, thinking it needs to be loaded
442
501
  when using rspec-mocks outside the context of rspec-core.
443
- (Myron Marston, #846)
502
+ (Myron Marston, rspec/rspec-mocks#846)
444
503
  * Prevent message expectations from being modified by customization methods
445
- (e.g. `with`) after they have been invoked. (Sam Phippen and Melanie Gilman, #837)
504
+ (e.g. `with`) after they have been invoked. (Sam Phippen and Melanie Gilman, rspec/rspec-mocks#837)
446
505
  * Handle cases where a method stub cannot be removed due to something
447
506
  external to RSpec monkeying with the method definition. This can
448
507
  happen, for example, when you `file.reopen(io)` after previously
449
- stubbing a method on the `file` object. (Myron Marston, #853)
508
+ stubbing a method on the `file` object. (Myron Marston, rspec/rspec-mocks#853)
450
509
  * Provide a clear error when received message args are mutated before
451
- a `have_received(...).with(...)` expectation. (Myron Marston, #868)
510
+ a `have_received(...).with(...)` expectation. (Myron Marston, rspec/rspec-mocks#868)
452
511
 
453
512
  ### 3.1.3 / 2014-10-08
454
513
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.2...v3.1.3)
@@ -456,13 +515,13 @@ Bug Fixes:
456
515
  Bug Fixes:
457
516
 
458
517
  * Correct received messages count when used with `have_received` matcher.
459
- (Jon Rowe, #793)
518
+ (Jon Rowe, rspec/rspec-mocks#793)
460
519
  * Provide a clear error message when you use `allow_any_instance_of(...)` or
461
520
  `expect_any_instance_of(...)` with the `have_received` matcher (they are
462
521
  not intended to be used together and previously caused an odd internal
463
- failure in rspec-mocks). (Jon Rowe, #799).
522
+ failure in rspec-mocks). (Jon Rowe, rspec/rspec-mocks#799).
464
523
  * Fix verified double `with` verification so that it applies to method
465
- stubs. (Myron Marston, #790)
524
+ stubs. (Myron Marston, rspec/rspec-mocks#790)
466
525
 
467
526
  ### 3.1.2 / 2014-09-26
468
527
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.1...v3.1.2)
@@ -471,7 +530,7 @@ Bug Fixes:
471
530
 
472
531
  * Provide a clear error message when you use `allow(...)` with the
473
532
  `have_received` matcher (they are not intended to be used together
474
- and previously caused an odd internal failure in rspec-mocks). (Jon Rowe, #788).
533
+ and previously caused an odd internal failure in rspec-mocks). (Jon Rowe, rspec/rspec-mocks#788).
475
534
 
476
535
  ### 3.1.1 / 2014-09-18
477
536
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.0...v3.1.1)
@@ -479,7 +538,7 @@ Bug Fixes:
479
538
  Bug Fixes:
480
539
 
481
540
  * Prevent included modules being detected as prepended modules on Ruby 2.0
482
- when using `any_instance_of(...)`. (Tony Novak, #781)
541
+ when using `any_instance_of(...)`. (Tony Novak, rspec/rspec-mocks#781)
483
542
 
484
543
  ### 3.1.0 / 2014-09-04
485
544
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.4...v3.1.0)
@@ -488,24 +547,24 @@ Enhancements:
488
547
 
489
548
  * Add spying methods (`spy`, `ìnstance_spy`, `class_spy` and `object_spy`)
490
549
  which create doubles as null objects for use with spying in testing. (Sam
491
- Phippen, #671)
550
+ Phippen, rspec/rspec-mocks#671)
492
551
  * `have_received` matcher will raise "does not implement" errors correctly when
493
- used with verifying doubles and partial doubles. (Xavier Shay, #722)
552
+ used with verifying doubles and partial doubles. (Xavier Shay, rspec/rspec-mocks#722)
494
553
  * Allow matchers to be used in place of keyword arguments in `with`
495
- expectations. (Xavier Shay, #726)
554
+ expectations. (Xavier Shay, rspec/rspec-mocks#726)
496
555
  * Add `thrice` modifier to message expectation interface as a synonym
497
- for `exactly(3).times`. (Dennis Taylor, #753)
556
+ for `exactly(3).times`. (Dennis Taylor, rspec/rspec-mocks#753)
498
557
  * Add more `thrice` synonyms e.g. `.at_least(:thrice)`, `.at_most(:thrice)`,
499
- `receive(...).thrice` and `have_received(...).thrice`. (Jon Rowe, #754)
558
+ `receive(...).thrice` and `have_received(...).thrice`. (Jon Rowe, rspec/rspec-mocks#754)
500
559
  * Add `and_wrap_original` modifier for partial doubles to mutate the
501
- response from a method. (Jon Rowe, #762)
560
+ response from a method. (Jon Rowe, rspec/rspec-mocks#762)
502
561
 
503
562
  Bug Fixes:
504
563
 
505
564
  * Remove `any_number_of_times` from `any_instance` recorders that were
506
- erroneously causing mention of the method in documentation. (Jon Rowe, #760)
565
+ erroneously causing mention of the method in documentation. (Jon Rowe, rspec/rspec-mocks#760)
507
566
  * Prevent included modules being detected as prepended modules on Ruby 2.0.
508
- (Eugene Kenny, #771)
567
+ (Eugene Kenny, rspec/rspec-mocks#771)
509
568
 
510
569
  ### 3.0.4 / 2014-08-14
511
570
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.3...v3.0.4)
@@ -513,7 +572,7 @@ Bug Fixes:
513
572
  Bug Fixes:
514
573
 
515
574
  * Restore `kind_of(x)` to match using `arg.kind_of?(x)` (like RSpec 2)
516
- rather than `x === arg`. (Jon Rowe, #750)
575
+ rather than `x === arg`. (Jon Rowe, rspec/rspec-mocks#750)
517
576
 
518
577
  ### 3.0.3 / 2014-07-21
519
578
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.2...v3.0.3)
@@ -521,10 +580,10 @@ Bug Fixes:
521
580
  Bug Fixes:
522
581
 
523
582
  * `have_received` matcher will raise "does not implement" errors correctly when
524
- used with verifying doubles and partial doubles. (Xavier Shay, #722)
583
+ used with verifying doubles and partial doubles. (Xavier Shay, rspec/rspec-mocks#722)
525
584
  * Make `double.as_null_object.dup` and `double.as_null_object.clone`
526
- make the copies be null objects. (Myron Marston, #732)
527
- * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, #739)
585
+ make the copies be null objects. (Myron Marston, rspec/rspec-mocks#732)
586
+ * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, rspec/rspec-mocks#739)
528
587
 
529
588
  ### 3.0.2 / 2014-06-19
530
589
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.1...v3.0.2)
@@ -532,11 +591,11 @@ Bug Fixes:
532
591
  Bug Fixes:
533
592
 
534
593
  * Fix edge case that triggered "can't add a new key into hash during
535
- iteration" during mock verification. (Sam Phippen, Myron Marston, #711)
594
+ iteration" during mock verification. (Sam Phippen, Myron Marston, rspec/rspec-mocks#711)
536
595
  * Fix verifying doubles so that when they accidentally leak into another
537
596
  example, they provide the same clear error message that normal doubles
538
- do. (Myron Marston, #718)
539
- * Make `ordered` work with exact receive counts. (Sam Phippen, #713)
597
+ do. (Myron Marston, rspec/rspec-mocks#718)
598
+ * Make `ordered` work with exact receive counts. (Sam Phippen, rspec/rspec-mocks#713)
540
599
 
541
600
  ### 3.0.1 / 2014-06-07
542
601
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0...v3.0.1)
@@ -544,10 +603,10 @@ Bug Fixes:
544
603
  Bug Fixes:
545
604
 
546
605
  * Fix `receive_message_chain(...)` so that it supports `with` just like
547
- `stub_chain` did. (Jon Rowe, #697)
606
+ `stub_chain` did. (Jon Rowe, rspec/rspec-mocks#697)
548
607
  * Fix regression in `expect_any_instance_of` so that it expects the
549
608
  message on _any_ instance rather than on _every_ instance.
550
- (Myron Marston, #699)
609
+ (Myron Marston, rspec/rspec-mocks#699)
551
610
 
552
611
  ### 3.0.0 / 2014-06-01
553
612
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.rc1...v3.0.0)
@@ -760,14 +819,14 @@ Bug Fixes:
760
819
 
761
820
  Bug Fixes:
762
821
 
763
- * Add missing deprecation for using `with` with no arguments e.g. `with()`. (Yousuke, #970)
822
+ * Add missing deprecation for using `with` with no arguments e.g. `with()`. (Yousuke, rspec/rspec-mocks#970)
764
823
 
765
824
  ### 2.99.3 / 2015-01-09
766
825
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.2...v2.99.3)
767
826
 
768
827
  Bug Fixes:
769
828
 
770
- * Fix regression that caused an error when a test double was deserialized from YAML. (Yuji Nakayama, #777)
829
+ * Fix regression that caused an error when a test double was deserialized from YAML. (Yuji Nakayama, rspec/rspec-mocks#777)
771
830
 
772
831
  ### 2.99.2 / 2014-07-21
773
832
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.1...v2.99.2)
@@ -775,7 +834,7 @@ Bug Fixes:
775
834
  Enhancements:
776
835
 
777
836
  * Warn about upcoming change to `#===` matching and `DateTime#===` behaviour.
778
- (Jon Rowe, #735)
837
+ (Jon Rowe, rspec/rspec-mocks#735)
779
838
 
780
839
  ### 2.99.1 / 2014-06-12
781
840
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0...v2.99.1)
@@ -783,11 +842,11 @@ Enhancements:
783
842
  Bug Fixes:
784
843
 
785
844
  * Fix bug that caused errors at the end of each example
786
- when a `double.as_null_object` had been frozen. (Yuji Nakayama, #698)
845
+ when a `double.as_null_object` had been frozen. (Yuji Nakayama, rspec/rspec-mocks#698)
787
846
 
788
847
  Deprecations:
789
848
 
790
- * Deprecate freezing a test double. (Yuji Nakayama, #698)
849
+ * Deprecate freezing a test double. (Yuji Nakayama, rspec/rspec-mocks#698)
791
850
 
792
851
  ### 2.99.0 / 2014-06-01
793
852
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.rc1...v2.99.0)
@@ -963,8 +1022,8 @@ Bug fixes
963
1022
  * Fix `Marshal.dump` extension so that it correctly handles nil.
964
1023
  (Luke Imhoff, Jon Rowe)
965
1024
  * Fix isolation of `allow_message_expectations_on_nil` (Jon Rowe)
966
- * Use inspect to format actual arguments on expectations in failure messages (#280, Ben Langfeld)
967
- * Protect against improperly initialised test doubles (#293) (Joseph Shraibman and Jon Rowe)
1025
+ * Use inspect to format actual arguments on expectations in failure messages (rspec/rspec-mocks#280, Ben Langfeld)
1026
+ * Protect against improperly initialised test doubles (rspec/rspec-mocks#293) (Joseph Shraibman and Jon Rowe)
968
1027
 
969
1028
  Deprecations
970
1029
 
@@ -1146,7 +1205,7 @@ Bug fixes
1146
1205
 
1147
1206
  * Allow a `as_null_object` to be passed to `with`
1148
1207
  * Pass proc to block passed to stub (Aubrey Rhodes)
1149
- * Initialize child message expectation args to match any args (#109 -
1208
+ * Initialize child message expectation args to match any args (rspec/rspec-mocks#109 -
1150
1209
  preethiramdev)
1151
1210
 
1152
1211
  ### 2.8.0 / 2012-01-04
@@ -259,10 +259,12 @@ module RSpec
259
259
  @observed_methods << method_name
260
260
  backup_method!(method_name)
261
261
  recorder = self
262
+ method_was_private = @klass.private_method_defined?(method_name)
262
263
  @klass.__send__(:define_method, method_name) do |*args, &blk|
263
264
  recorder.playback!(self, method_name)
264
265
  __send__(method_name, *args, &blk)
265
266
  end
267
+ @klass.__send__(:private, method_name) if method_was_private
266
268
  @klass.__send__(:ruby2_keywords, method_name) if @klass.respond_to?(:ruby2_keywords, true)
267
269
  end
268
270
 
@@ -156,7 +156,7 @@ module RSpec
156
156
  end
157
157
 
158
158
  # @private
159
- # Used to track wether we are temporarily suppressing verifying partial
159
+ # Used to track whether we are temporarily suppressing verifying partial
160
160
  # doubles with `without_partial_double_verification { ... }`
161
161
  attr_accessor :temporarily_suppress_partial_double_verification
162
162
 
@@ -370,7 +370,7 @@ module RSpec
370
370
  end
371
371
 
372
372
  def times(count)
373
- "#{count} time#{count == 1 ? '' : 's'}"
373
+ "#{count} time#{'s' unless count == 1}"
374
374
  end
375
375
 
376
376
  def grouped_args(args)
@@ -68,7 +68,7 @@ module RSpec
68
68
  # counter.count # => 3
69
69
  # counter.count # => 3
70
70
  # # etc
71
- def and_return(first_value, *values)
71
+ def and_return(first_value, *values, &_block)
72
72
  raise_already_invoked_error_if_necessary(__method__)
73
73
  if negative?
74
74
  raise "`and_return` is not supported with negative message expectations"
@@ -101,12 +101,12 @@ module RSpec
101
101
  #
102
102
  # allow(api).to receive(:get_foo).and_invoke(-> { raise ApiTimeout }, -> { raise ApiTimeout }, -> { :a_foo })
103
103
  # api.get_foo # => raises ApiTimeout
104
- # api.get_foo # => rasies ApiTimeout
104
+ # api.get_foo # => raises ApiTimeout
105
105
  # api.get_foo # => :a_foo
106
106
  # api.get_foo # => :a_foo
107
107
  # api.get_foo # => :a_foo
108
108
  # # etc
109
- def and_invoke(first_proc, *procs)
109
+ def and_invoke(first_proc, *procs, &_block)
110
110
  raise_already_invoked_error_if_necessary(__method__)
111
111
  if negative?
112
112
  raise "`and_invoke` is not supported with negative message expectations"
@@ -400,6 +400,9 @@ module RSpec
400
400
  end
401
401
  alias inspect to_s
402
402
 
403
+ # Implementation details is a long module
404
+ # rubocop:disable Metrics/ModuleLength
405
+
403
406
  # @private
404
407
  # Contains the parts of `MessageExpectation` that aren't part of
405
408
  # rspec-mocks' public API. The class is very big and could really use
@@ -436,6 +439,8 @@ module RSpec
436
439
  @ordered = false
437
440
  @at_least = @at_most = @exactly = nil
438
441
 
442
+ self.invoking_internals = false
443
+
439
444
  # Initialized to nil so that we don't allocate an array for every
440
445
  # mock or stub. See also comment in `and_yield`.
441
446
  @args_to_yield = nil
@@ -471,10 +476,19 @@ module RSpec
471
476
  ruby2_keywords :safe_invoke if respond_to?(:ruby2_keywords, true)
472
477
 
473
478
  def invoke(parent_stub, *args, &block)
474
- invoke_incrementing_actual_calls_by(1, true, parent_stub, *args, &block)
479
+ if invoking_internals
480
+ safe_invoke_without_incrementing_received_count(parent_stub, *args, &block)
481
+ else
482
+ invoke_incrementing_actual_calls_by(1, true, parent_stub, *args, &block)
483
+ end
475
484
  end
476
485
  ruby2_keywords :invoke if respond_to?(:ruby2_keywords, true)
477
486
 
487
+ def safe_invoke_without_incrementing_received_count(parent_stub, *args, &block)
488
+ invoke_incrementing_actual_calls_by(0, false, parent_stub, *args, &block)
489
+ end
490
+ ruby2_keywords :safe_invoke_without_incrementing_received_count if respond_to?(:ruby2_keywords, true)
491
+
478
492
  def invoke_without_incrementing_received_count(parent_stub, *args, &block)
479
493
  invoke_incrementing_actual_calls_by(0, true, parent_stub, *args, &block)
480
494
  end
@@ -601,7 +615,24 @@ module RSpec
601
615
  @exception_source_id ||= "#{self.class.name} #{__id__}"
602
616
  end
603
617
 
618
+ def invoking_internals
619
+ RSpec::Support.thread_local_data[:"__rspec_#{object_id}_invoking_internals"]
620
+ end
621
+
622
+ def invoking_internals=(value)
623
+ # We clear the key for this rather than setting to false because otherwise the amount of
624
+ # thread local data will keep growing over the lifetime of the thread (which is a long
625
+ # time on a single threaded spec run e.g standard MRI)
626
+ if value
627
+ RSpec::Support.thread_local_data[:"__rspec_#{object_id}_invoking_internals"] = true
628
+ else
629
+ RSpec::Support.thread_local_data.delete(:"__rspec_#{object_id}_invoking_internals")
630
+ end
631
+ end
632
+
604
633
  def invoke_incrementing_actual_calls_by(increment, allowed_to_fail, parent_stub, *args, &block)
634
+ self.invoking_internals = true
635
+
605
636
  args.unshift(orig_object) if yield_receiver_to_implementation_block?
606
637
 
607
638
  if negative? || (allowed_to_fail && (@exactly || @at_most) && (@actual_received_count == @expected_received_count))
@@ -617,12 +648,15 @@ module RSpec
617
648
 
618
649
  @order_group.handle_order_constraint self
619
650
 
651
+ self.invoking_internals = false
652
+
620
653
  if implementation.present?
621
654
  implementation.call(*args, &block)
622
655
  elsif parent_stub
623
656
  parent_stub.invoke(nil, *args, &block)
624
657
  end
625
658
  ensure
659
+ self.invoking_internals = false
626
660
  @actual_received_count_write_mutex.synchronize do
627
661
  @actual_received_count += increment
628
662
  end
@@ -688,6 +722,7 @@ module RSpec
688
722
 
689
723
  include ImplementationDetails
690
724
  end
725
+ # rubocop:enable Metrics/ModuleLength
691
726
 
692
727
  # Handles the implementation of an `and_yield` declaration.
693
728
  # @private
@@ -748,6 +783,7 @@ module RSpec
748
783
 
749
784
  proc.call(*args, &block)
750
785
  end
786
+ ruby2_keywords(:call) if respond_to?(:ruby2_keywords, true)
751
787
  end
752
788
 
753
789
  # Represents a configured implementation. Takes into account
@@ -1,3 +1,5 @@
1
+ RSpec::Support.require_rspec_support 'mutex'
2
+
1
3
  module RSpec
2
4
  module Mocks
3
5
  # @private
@@ -9,11 +11,6 @@ module RSpec
9
11
  end
10
12
  end
11
13
 
12
- unless defined?(Mutex)
13
- Support.require_rspec_support 'mutex'
14
- Mutex = Support::Mutex
15
- end
16
-
17
14
  # @private
18
15
  def ensure_implemented(*_args)
19
16
  # noop for basic proxies, see VerifyingProxy for behaviour.
@@ -27,7 +24,7 @@ module RSpec
27
24
  @order_group = order_group
28
25
  @error_generator = ErrorGenerator.new(object)
29
26
  @messages_received = []
30
- @messages_received_mutex = Mutex.new
27
+ @messages_received_mutex = Support::Mutex.new
31
28
  @options = options
32
29
  @null_object = false
33
30
  @method_doubles = Hash.new { |h, k| h[k] = MethodDouble.new(@object, k, self) }
@@ -35,7 +32,7 @@ module RSpec
35
32
 
36
33
  # @private
37
34
  def ensure_can_be_proxied!(object)
38
- return unless object.is_a?(Symbol)
35
+ return unless Symbol === object
39
36
 
40
37
  msg = "Cannot proxy frozen objects. Symbols such as #{object} cannot be mocked or stubbed."
41
38
  raise ArgumentError, msg
@@ -115,7 +115,7 @@ module RSpec
115
115
  Matchers::Receive.new(method_name, block)
116
116
  end
117
117
 
118
- def receive_messages(message_return_value_hash)
118
+ def receive_messages(message_return_value_hash, &_block)
119
119
  matcher = Matchers::ReceiveMessages.new(message_return_value_hash)
120
120
  matcher.warn_about_block if block_given?
121
121
  matcher
@@ -49,7 +49,9 @@ module RSpec
49
49
 
50
50
  # @private
51
51
  def respond_to?(message, incl_private=false)
52
- __mock_proxy.null_object? ? true : super
52
+ return true if __mock_proxy.null_object?
53
+
54
+ super
53
55
  end
54
56
 
55
57
  # @private
@@ -77,9 +79,10 @@ module RSpec
77
79
 
78
80
  if proxy.null_object?
79
81
  case message
80
- when :to_int then return 0
81
- when :to_a, :to_ary then return nil
82
- when :to_str then return to_s
82
+ when :to_int then return 0
83
+ when :to_a, :to_ary then return nil
84
+ when :to_h, :to_hash then return {}
85
+ when :to_str then return to_s
83
86
  else return self
84
87
  end
85
88
  end
@@ -36,12 +36,14 @@ module RSpec
36
36
 
37
37
  # Redefining `__send__` causes ruby to issue a warning.
38
38
  old, $VERBOSE = $VERBOSE, nil
39
+ # rubocop:disable Naming/MethodName
39
40
  def __send__(name, *args, &block)
40
41
  @__sending_message = name
41
42
  super
42
43
  ensure
43
44
  @__sending_message = nil
44
45
  end
46
+ # rubocop:enable Naming/MethodName
45
47
  ruby2_keywords :__send__ if respond_to?(:ruby2_keywords, true)
46
48
  $VERBOSE = old
47
49
 
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec mocks.
4
4
  module Version
5
5
  # Version of RSpec mocks currently in use in SemVer format.
6
- STRING = '3.13.0'
6
+ STRING = '3.13.7'
7
7
  end
8
8
  end
9
9
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,22 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.0
4
+ version: 3.13.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Baker
8
8
  - David Chelimsky
9
9
  - Myron Marston
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain:
13
12
  - |
14
13
  -----BEGIN CERTIFICATE-----
15
- MIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
14
+ MIIFvjCCA6agAwIBAgIJAPXjfUbCjdXVMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD
16
15
  VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
17
16
  MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
18
- CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx
19
- MjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
17
+ CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMjUwMjA2MTE0NjU2WhcNMjYw
18
+ MjA2MTE0NjU2WjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
20
19
  EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
21
20
  Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
22
21
  IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
@@ -30,22 +29,21 @@ cert_chain:
30
29
  Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
31
30
  blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
32
31
  gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
33
- 2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW
34
- Vv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF
35
- MAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD
36
- gtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY
37
- +pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36
38
- 8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe
39
- ghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid
40
- Xrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/
41
- UbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/
42
- BeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj
43
- Akt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu
44
- e6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp
45
- ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
46
- F3MdtaDehhjC
32
+ 2FUsqZbbJcCmkBrGposCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
33
+ HQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMA0GCSqGSIb3DQEBCwUAA4IC
34
+ AQBGBr0ll2yLrkO6IeK5Q7qZFnANaUCKfi6Of9VztZJXgKAU5KAQxyOidGktoA5N
35
+ lp+bFKudRkW8jSehqoNaNBdSZ9Bc07EGMXIhUFJZF9rq7Z2SKPwUm6EaSsBK13QR
36
+ U4K6wuaw5ZJSFzklapoGOJRGnFlnNtlhNFY6+tTwCeblwZbcuYGyGY8+Rg7GbyVl
37
+ 3Tr4Gi1aS/qG/MDXKdE8HWm39dmaAMdbw6dg1VBd0JrX2VqH7xvE1dM/D3OlKrNp
38
+ gNFRNJig3Y8qPjocZR0cGkhgZoC9wribWxHSNawZm4CoV3fja2HNx9QyM7BaB+as
39
+ yuqAiBbA7vBcyc8nKATip3mxbyXYXoDD7nmO8JCPP7O/WsgG+U/B2a0kPdvYFoxE
40
+ Q0Js3GtFCuMvL+0rifqdxBOLtu0Pw9q4RvToTJIl2IR6eTgCb82B1hw9qKf7PjuL
41
+ BoEsYjjDhGw6FZvcJG8O6uj7aB+z4aF21YR74UGL7sq/RIPNNez5JI95jTGfqCPy
42
+ 6yo0w3zja3yg28QK3Fj+tbOHeSLv9SDQWi/1jiPprGzbxGvbVvjvX11YZc46vkmY
43
+ AwP+qZPPf97FXXZGEGIYhhHpnj+Ltx9nCetRPiZ4rvYBcXgCWVQSg6eiEofrMwn/
44
+ AKMCABhZ1Y2eATsfMgdkmIZk7JIPZiSi6eUxPiCMP9M/pw==
47
45
  -----END CERTIFICATE-----
48
- date: 2024-02-04 00:00:00.000000000 Z
46
+ date: 1980-01-02 00:00:00.000000000 Z
49
47
  dependencies:
50
48
  - !ruby/object:Gem::Dependency
51
49
  name: rspec-support
@@ -81,68 +79,6 @@ dependencies:
81
79
  - - "<"
82
80
  - !ruby/object:Gem::Version
83
81
  version: '2.0'
84
- - !ruby/object:Gem::Dependency
85
- name: rake
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">"
89
- - !ruby/object:Gem::Version
90
- version: 10.0.0
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">"
96
- - !ruby/object:Gem::Version
97
- version: 10.0.0
98
- - !ruby/object:Gem::Dependency
99
- name: cucumber
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '1.3'
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '1.3'
112
- - !ruby/object:Gem::Dependency
113
- name: aruba
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: 1.1.0
119
- - - "<"
120
- - !ruby/object:Gem::Version
121
- version: 3.0.0
122
- type: :development
123
- prerelease: false
124
- version_requirements: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- version: 1.1.0
129
- - - "<"
130
- - !ruby/object:Gem::Version
131
- version: 3.0.0
132
- - !ruby/object:Gem::Dependency
133
- name: minitest
134
- requirement: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '5.2'
139
- type: :development
140
- prerelease: false
141
- version_requirements: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '5.2'
146
82
  description: RSpec's 'test double' framework, with support for stubbing and mocking
147
83
  email: rspec@googlegroups.com
148
84
  executables: []
@@ -195,16 +131,16 @@ files:
195
131
  - lib/rspec/mocks/verifying_message_expectation.rb
196
132
  - lib/rspec/mocks/verifying_proxy.rb
197
133
  - lib/rspec/mocks/version.rb
198
- homepage: https://github.com/rspec/rspec-mocks
134
+ homepage: https://rspec.info
199
135
  licenses:
200
136
  - MIT
201
137
  metadata:
202
- bug_tracker_uri: https://github.com/rspec/rspec-mocks/issues
203
- changelog_uri: https://github.com/rspec/rspec-mocks/blob/v3.13.0/Changelog.md
138
+ bug_tracker_uri: https://github.com/rspec/rspec/issues
139
+ changelog_uri: https://github.com/rspec/rspec/blob/rspec-mocks-v3.13.7/rspec-mocks/Changelog.md
204
140
  documentation_uri: https://rspec.info/documentation/
205
141
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
206
- source_code_uri: https://github.com/rspec/rspec-mocks
207
- post_install_message:
142
+ rubygems_mfa_required: 'true'
143
+ source_code_uri: https://github.com/rspec/rspec/blob/rspec-mocks-v3.13.7/rspec-mocks
208
144
  rdoc_options:
209
145
  - "--charset=UTF-8"
210
146
  require_paths:
@@ -220,8 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
156
  - !ruby/object:Gem::Version
221
157
  version: '0'
222
158
  requirements: []
223
- rubygems_version: 3.1.6
224
- signing_key:
159
+ rubygems_version: 3.6.9
225
160
  specification_version: 4
226
- summary: rspec-mocks-3.13.0
161
+ summary: rspec-mocks-3.13.7
227
162
  test_files: []
metadata.gz.sig CHANGED
Binary file