rspec-mocks 3.0.4 → 3.12.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|