rspec-mocks 3.0.4 → 3.12.6
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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data/.document +1 -1
- data/.yardopts +1 -1
- data/Changelog.md +512 -2
- data/{License.txt → LICENSE.md} +5 -4
- data/README.md +113 -30
- data/lib/rspec/mocks/any_instance/chain.rb +5 -3
- data/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/lib/rspec/mocks/any_instance/expect_chain_chain.rb +1 -5
- data/lib/rspec/mocks/any_instance/expectation_chain.rb +9 -8
- data/lib/rspec/mocks/any_instance/message_chains.rb +7 -8
- data/lib/rspec/mocks/any_instance/proxy.rb +14 -5
- data/lib/rspec/mocks/any_instance/recorder.rb +61 -31
- data/lib/rspec/mocks/any_instance/stub_chain.rb +15 -11
- data/lib/rspec/mocks/any_instance/stub_chain_chain.rb +1 -5
- data/lib/rspec/mocks/any_instance.rb +1 -0
- data/lib/rspec/mocks/argument_list_matcher.rb +55 -10
- data/lib/rspec/mocks/argument_matchers.rb +88 -30
- data/lib/rspec/mocks/configuration.rb +61 -13
- data/lib/rspec/mocks/error_generator.rb +250 -107
- data/lib/rspec/mocks/example_methods.rb +151 -28
- data/lib/rspec/mocks/instance_method_stasher.rb +17 -6
- data/lib/rspec/mocks/matchers/have_received.rb +50 -20
- data/lib/rspec/mocks/matchers/receive.rb +39 -11
- data/lib/rspec/mocks/matchers/receive_message_chain.rb +22 -7
- data/lib/rspec/mocks/matchers/receive_messages.rb +12 -7
- data/lib/rspec/mocks/message_chain.rb +3 -7
- data/lib/rspec/mocks/message_expectation.rb +466 -307
- data/lib/rspec/mocks/method_double.rb +88 -29
- data/lib/rspec/mocks/method_reference.rb +85 -25
- data/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/lib/rspec/mocks/mutate_const.rb +50 -109
- data/lib/rspec/mocks/object_reference.rb +89 -32
- data/lib/rspec/mocks/order_group.rb +4 -5
- data/lib/rspec/mocks/proxy.rb +156 -60
- data/lib/rspec/mocks/space.rb +52 -35
- data/lib/rspec/mocks/standalone.rb +1 -1
- data/lib/rspec/mocks/syntax.rb +26 -30
- data/lib/rspec/mocks/targets.rb +55 -28
- data/lib/rspec/mocks/test_double.rb +43 -7
- data/lib/rspec/mocks/verifying_double.rb +27 -33
- data/lib/rspec/mocks/{verifying_message_expecation.rb → verifying_message_expectation.rb} +11 -16
- data/lib/rspec/mocks/verifying_proxy.rb +77 -26
- data/lib/rspec/mocks/version.rb +1 -1
- data/lib/rspec/mocks.rb +8 -1
- data.tar.gz.sig +0 -0
- metadata +80 -43
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 51d2892643ca24dce94963c553f2fdee71d55d9c3c2b2d14ba4fb2cb4ed0876a
|
4
|
+
data.tar.gz: ceb42a276b994afe0eaffe46e3a7f314393caf5ba39a5804969b955dc9f309d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d19a308278d05b7703dafc5a88ca5b897badd3e60619fce025937b2ee677e36bea53f9ff2386b4180d107ce45dc695fecb68c69e46d0a4d0ec8063126d30b5f
|
7
|
+
data.tar.gz: dd881cdd051593ef697cab19d41b760933daca59768ad12430551743936d4373c575f2cc8cfe496e955e90b3cd965d14ec1f2b097c66f63e5e35e34d720696d9
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.document
CHANGED
data/.yardopts
CHANGED
data/Changelog.md
CHANGED
@@ -1,3 +1,498 @@
|
|
1
|
+
### Development
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.6...3-12-maintenance)
|
3
|
+
|
4
|
+
### 3.12.6 / 2023-07-11
|
5
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.5...v3.12.6)
|
6
|
+
|
7
|
+
Bug Fixes:
|
8
|
+
|
9
|
+
* Fix an issue with `and_call_original` when using the `method_missing` fallback
|
10
|
+
with keyword arguments. (Igor Drozdov, #1552)
|
11
|
+
|
12
|
+
### 3.12.5 / 2023-03-30
|
13
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.4...v3.12.5)
|
14
|
+
|
15
|
+
Bug Fixes:
|
16
|
+
|
17
|
+
* Fix compatibility issue with Rails where active_support monkey patches `with`
|
18
|
+
when using any instance. (Lachlan Sylvester, #1540)
|
19
|
+
|
20
|
+
### 3.12.4 / 2023-03-12
|
21
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.3...v3.12.4)
|
22
|
+
|
23
|
+
Bug Fixes:
|
24
|
+
|
25
|
+
* Fix an issue with asserting that Array#reverse is never called. (Brad Trick, #1533)
|
26
|
+
* Fix compatibility issue with Rails where active_support monkey patches `with`.
|
27
|
+
(Jean Boussier, #1531, #1534)
|
28
|
+
|
29
|
+
### 3.12.3 / 2023-01-17
|
30
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.2...v3.12.3)
|
31
|
+
|
32
|
+
Bug Fixes:
|
33
|
+
|
34
|
+
* Fix keyword delegation in `send` for verifying doubles on Ruby 3.
|
35
|
+
(Charlie Honig, #1485)
|
36
|
+
|
37
|
+
### 3.12.2 / 2023-01-07
|
38
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.1...v3.12.2)
|
39
|
+
|
40
|
+
Bug Fixes:
|
41
|
+
|
42
|
+
* Fix implementation blocks for mocks using keyword arguments on Ruby 3.2.0.
|
43
|
+
(Adam Steel, #1508)
|
44
|
+
* Fix keyword argument assertions when mocking using `with` on Ruby 3.2.0.
|
45
|
+
(Slava Kardakov, Benoit Tigeot, Phil Pirozhkov, Benoit Daloze, #1514)
|
46
|
+
|
47
|
+
### 3.12.1 / 2022-12-10
|
48
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.0...v3.12.1)
|
49
|
+
|
50
|
+
Bug Fixes:
|
51
|
+
|
52
|
+
* Remove empty diff marker when a diff only contains console codes. (Jon Rowe, #1506)
|
53
|
+
* Show keyword vs hash diff marker when arguments are not `==` (Jon Rowe, #1506)
|
54
|
+
* Change check to detect frozen objects to rescue errors rather than
|
55
|
+
pre-empting by checking `frozen?` due to some objects mis-behaving.
|
56
|
+
(Keegan Roth, #1401)
|
57
|
+
* Prevent unfulfilled expectations using `expect_any_instance_of` across a class
|
58
|
+
inheritance boundary from raising rather than failing. (Jon Rowe, #1496)
|
59
|
+
* Prevent a misleading error message when using `allow(...).not_to` with
|
60
|
+
unsupported matchers. (Phil Pirozhkov, #1503)
|
61
|
+
|
62
|
+
### 3.12.0 / 2022-10-26
|
63
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.2...v3.12.0)
|
64
|
+
|
65
|
+
Enhancements:
|
66
|
+
|
67
|
+
* Improve diff output when diffing keyword arguments against hashes.
|
68
|
+
(Jean Boussier, #1461)
|
69
|
+
|
70
|
+
### 3.11.2 / 2022-10-25
|
71
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...v3.11.2)
|
72
|
+
|
73
|
+
Bug Fixes:
|
74
|
+
|
75
|
+
* Use the original implementation of `Class.new` to detect overridden definitions
|
76
|
+
of `new` rather than the owner, fixing detection of "double aliased" methods
|
77
|
+
in Ruby 3 and above. (Benoit Daloze, #1470, #1476)
|
78
|
+
* Support keyword argument semantics when constraining argument expectations using
|
79
|
+
`with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, #1473)
|
80
|
+
|
81
|
+
### 3.11.1 / 2022-03-31
|
82
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.0...v3.11.1)
|
83
|
+
|
84
|
+
Bug Fixes:
|
85
|
+
|
86
|
+
* Add extra `ruby2_keywords` calls to properly designate methods using
|
87
|
+
`*args` to pass keyword around, fixes an issue with TruffleRuby.
|
88
|
+
(Benoit Daloze, #1464)
|
89
|
+
|
90
|
+
### 3.11.0 / 2022-02-09
|
91
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.3...v3.11.0)
|
92
|
+
|
93
|
+
Enhancements:
|
94
|
+
|
95
|
+
* Add `and_invoke` implementation for configuring responses to `receive`
|
96
|
+
(and `receive_messages`) with multiple callable objects. (Kyle Smith, #1411)
|
97
|
+
|
98
|
+
### 3.10.3 / 2022-01-28
|
99
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.2...v3.10.3)
|
100
|
+
|
101
|
+
Bug Fixes:
|
102
|
+
|
103
|
+
* Suppress warning by setting `$VERBOSE` to nil. (Nobuyoshi Nakada, #1414)
|
104
|
+
* Support keyword argument semantics when constraining argument expectations using
|
105
|
+
`with` on Ruby 3.0+ (Yusuke Endoh, #1394)
|
106
|
+
|
107
|
+
### 3.10.2 / 2021-01-27
|
108
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.1...v3.10.2)
|
109
|
+
|
110
|
+
Bug Fixes:
|
111
|
+
|
112
|
+
* Support keyword arguments with `and_call_original` on Ruby 3.0.
|
113
|
+
(Bryan Powell, #1385)
|
114
|
+
* `RSpec::Mocks::Constant#previously_defined?` is now always a boolean.
|
115
|
+
(Phil Pirozhkov, #1397)
|
116
|
+
* Support keyword arguments on Ruby 3.0 when used with `expect_any_instance_of`
|
117
|
+
or `allow_any_instance_of` with `and_call_original`.
|
118
|
+
(Jess Hottenstein, #1407)
|
119
|
+
|
120
|
+
### 3.10.1 / 2020-12-27
|
121
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.0...v3.10.1)
|
122
|
+
|
123
|
+
Bug Fixes:
|
124
|
+
|
125
|
+
* Issue `ArgumentError` rather than `TypeError` when unsupported methods on
|
126
|
+
unsupported objects are attempted to be stubbed. (@zhisme, #1357)
|
127
|
+
|
128
|
+
### 3.10.0 / 2020-10-30
|
129
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.1...v3.10.0)
|
130
|
+
|
131
|
+
Enhancements:
|
132
|
+
* Add the ability to set a custom error generator in `MessageExpectation`.
|
133
|
+
This will allow rspec-expectations to inject a custom failure message.
|
134
|
+
(Benoit Tigeot and Nicolas Zermati, #1312)
|
135
|
+
* Return the result of the block passed to `RSpec::Mocks.with_temporary_scope`
|
136
|
+
when block run. (@expeehaa, #1329)
|
137
|
+
|
138
|
+
### 3.9.1 / 2019-12-31
|
139
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.0...v3.9.1)
|
140
|
+
|
141
|
+
Bug Fixes:
|
142
|
+
|
143
|
+
* Trigger `RSpec::Mocks.configuration.verifying_double_callbacks` when using
|
144
|
+
`allow_any_instance_of` or `expect_any_instance_of` (Daniel Orner, #1309)
|
145
|
+
|
146
|
+
### 3.9.0 / 2019-10-07
|
147
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.2...v3.9.0)
|
148
|
+
|
149
|
+
Enhancements:
|
150
|
+
|
151
|
+
* Improve thread safety of message expectations by using Mutex to prevent
|
152
|
+
deadlocking errors. (Ry Biesemeyer, #1236)
|
153
|
+
* Add the ability to use `time` as an alias for `times`. For example:
|
154
|
+
`expect(Class).to receive(:method).exactly(1).time`.
|
155
|
+
(Pistos, Benoit Tigeot, #1271)
|
156
|
+
|
157
|
+
### 3.8.2 / 2019-10-02
|
158
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.1...v3.8.2)
|
159
|
+
|
160
|
+
* Allow `array_including` argument matchers to be nested.
|
161
|
+
(Emmanuel Delmas, #1291)
|
162
|
+
|
163
|
+
### 3.8.1 / 2019-06-13
|
164
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.0...v3.8.1)
|
165
|
+
|
166
|
+
Bug Fixes:
|
167
|
+
|
168
|
+
* Ensure stubbing methods does not change their visibility.
|
169
|
+
(Kevin Boschert, #1277)
|
170
|
+
|
171
|
+
### 3.8.0 / 2018-08-04
|
172
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.7.0...v3.8.0)
|
173
|
+
|
174
|
+
Bug Fixes:
|
175
|
+
|
176
|
+
* Issue error when encountering invalid "counted" negative message expectations.
|
177
|
+
(Sergiy Yarinovskiy, #1212)
|
178
|
+
* Ensure `allow_any_instance_of` and `expect_any_instance_of` can be temporarily
|
179
|
+
supressed. (Jon Rowe, #1228)
|
180
|
+
* Ensure `expect_any_instance_of(double).to_not have_received(:some_method)`
|
181
|
+
fails gracefully (as its not supported) rather than issuing a `NoMethodError`.
|
182
|
+
(Maxim Krizhanovsky, #1231)
|
183
|
+
|
184
|
+
### 3.7.0 / 2017-10-17
|
185
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0...v3.7.0)
|
186
|
+
|
187
|
+
Enhancements:
|
188
|
+
|
189
|
+
* Improve compatibility with `--enable-frozen-string-literal` option
|
190
|
+
on Ruby 2.3+. (Pat Allan, #1165)
|
191
|
+
|
192
|
+
Bug Fixes:
|
193
|
+
|
194
|
+
* Fix `hash_including` and `hash_excluding` so that they work against
|
195
|
+
subclasses of `Hash`. (Aaron Rosenberg, #1167)
|
196
|
+
|
197
|
+
### 3.6.0 / 2017-05-04
|
198
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta2...v3.6.0)
|
199
|
+
|
200
|
+
Bug Fixes:
|
201
|
+
|
202
|
+
* Fix "instance variable @color not initialized" warning when using
|
203
|
+
rspec-mocks without rspec-core. (Myron Marston, #1142)
|
204
|
+
* Restore aliased module methods properly when stubbing on 1.8.7.
|
205
|
+
(Samuel Giddins, #1144)
|
206
|
+
* Allow a message chain expectation to be constrained by argument(s).
|
207
|
+
(Jon Rowe, #1156)
|
208
|
+
|
209
|
+
### 3.6.0.beta2 / 2016-12-12
|
210
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta1...v3.6.0.beta2)
|
211
|
+
|
212
|
+
Enhancements:
|
213
|
+
|
214
|
+
* Add new `without_partial_double_verification { }` API that lets you
|
215
|
+
temporarily turn off partial double verification for an example.
|
216
|
+
(Jon Rowe, #1104)
|
217
|
+
|
218
|
+
### 3.6.0.beta1 / 2016-10-09
|
219
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0...v3.6.0.beta1)
|
220
|
+
|
221
|
+
Bug Fixes:
|
222
|
+
|
223
|
+
* Return the test double instance form `#freeze` (Alessandro Berardi, #1109)
|
224
|
+
* Allow the special logic for stubbing `new` to work when `<Class>.method` has
|
225
|
+
been redefined. (Proby, #1119)
|
226
|
+
|
227
|
+
### 3.5.0 / 2016-07-01
|
228
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta4...v3.5.0)
|
229
|
+
|
230
|
+
Enhancements:
|
231
|
+
|
232
|
+
* Provides a nice string representation of
|
233
|
+
`RSpec::Mocks::MessageExpectation` (Myron Marston, #1095)
|
234
|
+
|
235
|
+
### 3.5.0.beta4 / 2016-06-05
|
236
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta3...v3.5.0.beta4)
|
237
|
+
|
238
|
+
Enhancements:
|
239
|
+
|
240
|
+
* Add `and_throw` to any instance handling. (Tobias Bühlmann, #1068)
|
241
|
+
|
242
|
+
### 3.5.0.beta3 / 2016-04-02
|
243
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta2...v3.5.0.beta3)
|
244
|
+
|
245
|
+
Enhancements:
|
246
|
+
|
247
|
+
* Issue warning when attempting to use unsupported
|
248
|
+
`allow(...).to receive(...).ordered`. (Jon Rowe, #1000)
|
249
|
+
* Add `rspec/mocks/minitest_integration`, to properly integrate rspec-mocks
|
250
|
+
with minitest. (Myron Marston, #1065)
|
251
|
+
|
252
|
+
### 3.5.0.beta2 / 2016-03-10
|
253
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta1...v3.5.0.beta2)
|
254
|
+
|
255
|
+
Enhancements:
|
256
|
+
|
257
|
+
* Improve error message displayed when using `and_wrap_original` on pure test
|
258
|
+
doubles. (betesh, #1063)
|
259
|
+
|
260
|
+
Bug Fixes:
|
261
|
+
|
262
|
+
* Fix issue that prevented `receive_message_chain(...).with(...)` working
|
263
|
+
correctly on "any instance" mocks. (Jon Rowe, #1061)
|
264
|
+
|
265
|
+
### 3.5.0.beta1 / 2016-02-06
|
266
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.1...v3.5.0.beta1)
|
267
|
+
|
268
|
+
Bug Fixes:
|
269
|
+
|
270
|
+
* Allow `any_instance_of(...).to receive(...)` to use `and_yield` multiple
|
271
|
+
times. (Kilian Cirera Sant, #1054)
|
272
|
+
* Allow matchers which inherit from `rspec-mocks` matchers to be used for
|
273
|
+
`allow`. (Andrew Kozin, #1056)
|
274
|
+
* Prevent stubbing `respond_to?` on partial doubles from causing infinite
|
275
|
+
recursion. (Jon Rowe, #1013)
|
276
|
+
* Prevent aliased methods from disapearing after being mocked with
|
277
|
+
`any_instance` (regression from #1043). (Joe Rafaniello, #1060)
|
278
|
+
|
279
|
+
### 3.4.1 / 2016-01-10
|
280
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.0...v3.4.1)
|
281
|
+
|
282
|
+
Bug Fixes:
|
283
|
+
|
284
|
+
* Fix `any_instance` to work properly on Ruby 2.3. (Joe Rafaniello, #1043)
|
285
|
+
|
286
|
+
### 3.4.0 / 2015-11-11
|
287
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.2...v3.4.0)
|
288
|
+
|
289
|
+
Enhancements:
|
290
|
+
|
291
|
+
* Make `expect(...).to have_received` work without relying upon
|
292
|
+
rspec-expectations. (Myron Marston, #978)
|
293
|
+
* Add option for failing tests when expectations are set on `nil`.
|
294
|
+
(Liz Rush, #983)
|
295
|
+
|
296
|
+
Bug Fixes:
|
297
|
+
|
298
|
+
* Fix `have_received { ... }` so that any block passed when the message
|
299
|
+
was received is forwarded to the `have_received` block. (Myron Marston, #1006)
|
300
|
+
* Fix infinite loop in error generator when stubbing `respond_to?`.
|
301
|
+
(Alex Dowad, #1022)
|
302
|
+
* Fix issue with using `receive` on subclasses (at a class level) with 1.8.7.
|
303
|
+
(Alex Dowad, #1026)
|
304
|
+
|
305
|
+
### 3.3.2 / 2015-07-15
|
306
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.1...v3.3.2)
|
307
|
+
|
308
|
+
Bug Fixes:
|
309
|
+
|
310
|
+
* Prevent thread deadlock errors during proxy creation (e.g. when using
|
311
|
+
`before_verifying_doubles` callbacks). (Jon Rowe, #980, #979)
|
312
|
+
|
313
|
+
### 3.3.1 / 2015-06-19
|
314
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.0...v3.3.1)
|
315
|
+
|
316
|
+
Bug Fixes:
|
317
|
+
|
318
|
+
* Fix bug in `before_verifying_double` callback logic that caused it to be called
|
319
|
+
once for each class in the ancestor list when mocking or stubbing a class. Now
|
320
|
+
it is only called for the mocked or stubbed class, as you would expect. (Sam
|
321
|
+
Phippen, #974)
|
322
|
+
|
323
|
+
### 3.3.0 / 2015-06-12
|
324
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.1...v3.3.0)
|
325
|
+
|
326
|
+
Enhancements:
|
327
|
+
|
328
|
+
* When stubbing `new` on `MyClass` or `class_double(MyClass)`, use the
|
329
|
+
method signature from `MyClass#initialize` to verify arguments.
|
330
|
+
(Myron Marston, #886)
|
331
|
+
* Use matcher descriptions when generating description of received arguments
|
332
|
+
for mock expectation failures. (Tim Wade, #891)
|
333
|
+
* Avoid loading `stringio` unnecessarily. (Myron Marston, #894)
|
334
|
+
* Verifying doubles failure messages now distinguish between class and instance
|
335
|
+
level methods. (Tim Wade, #896, #908)
|
336
|
+
* Improve mock expectation failure messages so that it combines both
|
337
|
+
number of times and the received arguments in the output. (John Ceh, #918)
|
338
|
+
* Improve how test doubles are represented in failure messages.
|
339
|
+
(Siva Gollapalli, Myron Marston, #932)
|
340
|
+
* Rename `RSpec::Mocks::Configuration#when_declaring_verifying_double` to
|
341
|
+
`RSpec::Mocks::Configuration#before_verifying_doubles` and utilise when
|
342
|
+
verifying partial doubles. (Jon Rowe, #940)
|
343
|
+
* Use rspec-support's `ObjectFormatter` for improved formatting of
|
344
|
+
arguments in failure messages so that, for example, full time
|
345
|
+
precisions is displayed for time objects. (Gavin Miller, Myron Marston, #955)
|
346
|
+
|
347
|
+
Bug Fixes:
|
348
|
+
|
349
|
+
* Ensure expectations that raise eagerly also raise during RSpec verification.
|
350
|
+
This means that if exceptions are caught inside test execution the test will
|
351
|
+
still fail. (Sam Phippen, #884)
|
352
|
+
* Fix `have_received(msg).with(args).exactly(n).times` and
|
353
|
+
`receive(msg).with(args).exactly(n).times` failure messages
|
354
|
+
for when the message was received the wrong number of times with
|
355
|
+
the specified args, and also received additional times with other
|
356
|
+
arguments. Previously it confusingly listed the arguments as being
|
357
|
+
mis-matched (even when the double was allowed to receive with any
|
358
|
+
args) rather than listing the count. (John Ceh, #918)
|
359
|
+
* Fix `any_args`/`anything` support so that we avoid calling `obj == anything`
|
360
|
+
on user objects that may have improperly implemented `==` in a way that
|
361
|
+
raises errors. (Myron Marston, #924)
|
362
|
+
* Fix edge case involving stubbing the same method on a class and a subclass
|
363
|
+
which previously hit a `NoMethodError` internally in RSpec. (Myron Marston #954)
|
364
|
+
* Fix edge case where the message received count would be incremented multiple
|
365
|
+
times for one failure. (Myron Marston, #957)
|
366
|
+
* Fix failure messages for when spies received the expected message with
|
367
|
+
different arguments and also received another message. (Maurício Linhares, #960)
|
368
|
+
* Silence whitespace-only diffs. (Myron Marston, #969)
|
369
|
+
|
370
|
+
### 3.2.1 / 2015-02-23
|
371
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.0...v3.2.1)
|
372
|
+
|
373
|
+
Bug Fixes:
|
374
|
+
|
375
|
+
* Add missing `rspec/support/differ` require so that rspec-mocks can be
|
376
|
+
used w/o rspec-expectations (which also loads the differ and hided the
|
377
|
+
fact we forgot to require it). (Myron Marston, #893)
|
378
|
+
* Revert tracking of received arg mutation (added in 3.2.0 to provide an
|
379
|
+
error in a situation we can't support) as our implementation has side
|
380
|
+
effects on non-standard objects and there's no solution we could come
|
381
|
+
up with that always works. (Myron Marston, #900)
|
382
|
+
|
383
|
+
### 3.2.0 / 2015-02-03
|
384
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.3...v3.2.0)
|
385
|
+
|
386
|
+
Enhancements:
|
387
|
+
|
388
|
+
* Treat `any_args` as an arg splat, allowing it to match an arbitrary
|
389
|
+
number of args at any point in an arg list. (Myron Marston, #786)
|
390
|
+
* Print diffs when arguments in mock expectations are mismatched.
|
391
|
+
(Sam Phippen, #751)
|
392
|
+
* Support names for verified doubles (`instance_double`, `instance_spy`,
|
393
|
+
`class_double`, `class_spy`, `object_double`, `object_spy`). (Cezary
|
394
|
+
Baginski, #826)
|
395
|
+
* Make `array_including` and `hash_including` argument matchers composable.
|
396
|
+
(Sam Phippen, #819)
|
397
|
+
* Make `allow_any_instance_of(...).to receive(...).and_wrap_original`
|
398
|
+
work. (Ryan Fitzgerald, #869)
|
399
|
+
|
400
|
+
Bug Fixes:
|
401
|
+
|
402
|
+
* Provide a clear error when users wrongly combine `no_args` with
|
403
|
+
additional arguments (e.g. `expect().to receive().with(no_args, 1)`).
|
404
|
+
(Myron Marston, #786)
|
405
|
+
* Provide a clear error when users wrongly use `any_args` multiple times in the
|
406
|
+
same argument list (e.g. `expect().to receive().with(any_args, 1, any_args)`.
|
407
|
+
(Myron Marston, #786)
|
408
|
+
* Prevent the error generator from using user object #description methods.
|
409
|
+
See [#685](https://github.com/rspec/rspec-mocks/issues/685).
|
410
|
+
(Sam Phippen, #751)
|
411
|
+
* Make verified doubles declared as `(instance|class)_double(SomeConst)`
|
412
|
+
work properly when `SomeConst` has previously been stubbed.
|
413
|
+
`(instance|class)_double("SomeClass")` already worked properly.
|
414
|
+
(Myron Marston, #824)
|
415
|
+
* Add a matcher description for `receive`, `receive_messages` and
|
416
|
+
`receive_message_chain`. (Myron Marston, #828)
|
417
|
+
* Validate invocation args for null object verified doubles.
|
418
|
+
(Myron Marston, #829)
|
419
|
+
* Fix `RSpec::Mocks::Constant.original` when called with an invalid
|
420
|
+
constant to return an object indicating the constant name is invalid,
|
421
|
+
rather than blowing up. (Myron Marston, #833)
|
422
|
+
* Make `extend RSpec::Mocks::ExampleMethods` on any object work properly
|
423
|
+
to add the rspec-mocks API to that object. Previously, `expect` would
|
424
|
+
be undefined. (Myron Marston, #846)
|
425
|
+
* Fix `require 'rspec/mocks/standalone'` so that it only affects `main`
|
426
|
+
and not every object. It's really only intended to be used in a REPL
|
427
|
+
like IRB, but some gems have loaded it, thinking it needs to be loaded
|
428
|
+
when using rspec-mocks outside the context of rspec-core.
|
429
|
+
(Myron Marston, #846)
|
430
|
+
* Prevent message expectations from being modified by customization methods
|
431
|
+
(e.g. `with`) after they have been invoked. (Sam Phippen and Melanie Gilman, #837)
|
432
|
+
* Handle cases where a method stub cannot be removed due to something
|
433
|
+
external to RSpec monkeying with the method definition. This can
|
434
|
+
happen, for example, when you `file.reopen(io)` after previously
|
435
|
+
stubbing a method on the `file` object. (Myron Marston, #853)
|
436
|
+
* Provide a clear error when received message args are mutated before
|
437
|
+
a `have_received(...).with(...)` expectation. (Myron Marston, #868)
|
438
|
+
|
439
|
+
### 3.1.3 / 2014-10-08
|
440
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.2...v3.1.3)
|
441
|
+
|
442
|
+
Bug Fixes:
|
443
|
+
|
444
|
+
* Correct received messages count when used with `have_received` matcher.
|
445
|
+
(Jon Rowe, #793)
|
446
|
+
* Provide a clear error message when you use `allow_any_instance_of(...)` or
|
447
|
+
`expect_any_instance_of(...)` with the `have_received` matcher (they are
|
448
|
+
not intended to be used together and previously caused an odd internal
|
449
|
+
failure in rspec-mocks). (Jon Rowe, #799).
|
450
|
+
* Fix verified double `with` verification so that it applies to method
|
451
|
+
stubs. (Myron Marston, #790)
|
452
|
+
|
453
|
+
### 3.1.2 / 2014-09-26
|
454
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.1...v3.1.2)
|
455
|
+
|
456
|
+
Bug Fixes:
|
457
|
+
|
458
|
+
* Provide a clear error message when you use `allow(...)` with the
|
459
|
+
`have_received` matcher (they are not intended to be used together
|
460
|
+
and previously caused an odd internal failure in rspec-mocks). (Jon Rowe, #788).
|
461
|
+
|
462
|
+
### 3.1.1 / 2014-09-18
|
463
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.0...v3.1.1)
|
464
|
+
|
465
|
+
Bug Fixes:
|
466
|
+
|
467
|
+
* Prevent included modules being detected as prepended modules on Ruby 2.0
|
468
|
+
when using `any_instance_of(...)`. (Tony Novak, #781)
|
469
|
+
|
470
|
+
### 3.1.0 / 2014-09-04
|
471
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.4...v3.1.0)
|
472
|
+
|
473
|
+
Enhancements:
|
474
|
+
|
475
|
+
* Add spying methods (`spy`, `ìnstance_spy`, `class_spy` and `object_spy`)
|
476
|
+
which create doubles as null objects for use with spying in testing. (Sam
|
477
|
+
Phippen, #671)
|
478
|
+
* `have_received` matcher will raise "does not implement" errors correctly when
|
479
|
+
used with verifying doubles and partial doubles. (Xavier Shay, #722)
|
480
|
+
* Allow matchers to be used in place of keyword arguments in `with`
|
481
|
+
expectations. (Xavier Shay, #726)
|
482
|
+
* Add `thrice` modifier to message expectation interface as a synonym
|
483
|
+
for `exactly(3).times`. (Dennis Taylor, #753)
|
484
|
+
* Add more `thrice` synonyms e.g. `.at_least(:thrice)`, `.at_most(:thrice)`,
|
485
|
+
`receive(...).thrice` and `have_received(...).thrice`. (Jon Rowe, #754)
|
486
|
+
* Add `and_wrap_original` modifier for partial doubles to mutate the
|
487
|
+
response from a method. (Jon Rowe, #762)
|
488
|
+
|
489
|
+
Bug Fixes:
|
490
|
+
|
491
|
+
* Remove `any_number_of_times` from `any_instance` recorders that were
|
492
|
+
erroneously causing mention of the method in documentation. (Jon Rowe, #760)
|
493
|
+
* Prevent included modules being detected as prepended modules on Ruby 2.0.
|
494
|
+
(Eugene Kenny, #771)
|
495
|
+
|
1
496
|
### 3.0.4 / 2014-08-14
|
2
497
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.3...v3.0.4)
|
3
498
|
|
@@ -183,7 +678,7 @@ Bug Fixes:
|
|
183
678
|
behavior. (Maurício Linhares)
|
184
679
|
|
185
680
|
### 3.0.0.beta1 / 2013-11-07
|
186
|
-
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.
|
681
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.4...v3.0.0.beta1)
|
187
682
|
|
188
683
|
Breaking Changes for 3.0.0:
|
189
684
|
|
@@ -246,6 +741,20 @@ Bug Fixes:
|
|
246
741
|
returns `nil` or `''` so that you still get a useful message.
|
247
742
|
(Nick DeLuca)
|
248
743
|
|
744
|
+
### 2.99.4 / 2015-06-19
|
745
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.3...v2.99.4)
|
746
|
+
|
747
|
+
Bug Fixes:
|
748
|
+
|
749
|
+
* Add missing deprecation for using `with` with no arguments e.g. `with()`. (Yousuke, #970)
|
750
|
+
|
751
|
+
### 2.99.3 / 2015-01-09
|
752
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.2...v2.99.3)
|
753
|
+
|
754
|
+
Bug Fixes:
|
755
|
+
|
756
|
+
* Fix regression that caused an error when a test double was deserialized from YAML. (Yuji Nakayama, #777)
|
757
|
+
|
249
758
|
### 2.99.2 / 2014-07-21
|
250
759
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.1...v2.99.2)
|
251
760
|
|
@@ -567,7 +1076,8 @@ Bug fixes
|
|
567
1076
|
* Fix `should_receive` so that when it is called on an `as_null_object`
|
568
1077
|
double with no implementation, and there is a previous explicit stub
|
569
1078
|
for the same method, the explicit stub remains (rather than being
|
570
|
-
|
1079
|
+
overridden with the null object implementation--`return self`). (Myron
|
1080
|
+
Marston)
|
571
1081
|
|
572
1082
|
### 2.11.0 / 2012-07-07
|
573
1083
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.10.1...v2.11.0)
|
data/{License.txt → LICENSE.md}
RENAMED
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
The MIT License (MIT)
|
2
|
+
=====================
|
2
3
|
|
3
|
-
Copyright
|
4
|
-
Copyright
|
5
|
-
Copyright
|
4
|
+
* Copyright © 2012 David Chelimsky, Myron Marston
|
5
|
+
* Copyright © 2006 David Chelimsky, The RSpec Development Team
|
6
|
+
* Copyright © 2005 Steven Baker
|
6
7
|
|
7
8
|
Permission is hereby granted, free of charge, to any person obtaining
|
8
9
|
a copy of this software and associated documentation files (the
|