rspec-expectations 3.13.3 → 3.13.4

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: 2326091f61f5fccf3b86b2275c850340614475381f32a9f22417cb9f59b80ab3
4
- data.tar.gz: 7602b8b98d0dc9fecc754156a01686a131fedd6d43fe1b8ce8f689f0fba3b469
3
+ metadata.gz: c0eb448ddd64a8046c3aa3ea0792f4f8debdef6145a7e82a4e6631bf3f0e0fd1
4
+ data.tar.gz: c6f13e803efa869f3fc324bf641517acd6d2ad5d603aebe9e17ada09fe4a8004
5
5
  SHA512:
6
- metadata.gz: 21d9a95f4e9cb3fa1b7fb99419861bc90a39ee33b4fa183a1018ab351d830168bd93fb02e00452344e1c8d9824bc3d0543b988e42288396c8a3091b9fc5d6f9c
7
- data.tar.gz: ec4864365250340370d370af68dee725f3d018e414e57506d21d173e9d0a69a9df258f7d7a11e8f2ff583f4060348a76bb3251aa09a29add0ddee6fb2b0d4192
6
+ metadata.gz: 2538dd5c3d20e09e95b544951a3fb4ff5f548df05e6b43ac08845514bc9f16d9c40565c324ba7c084548ad5cbedfa4a831ec4e55912f2356e5dd2faef87e0966
7
+ data.tar.gz: c1da8597d452276695dd0e9fd66941c0b209db20c4774975c2c1d5c4729e0b1c04d9593445c27d3f91d00a0847391f2ab3795e076246f79075150e6e66359efd
checksums.yaml.gz.sig CHANGED
Binary file
data/Changelog.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ### Development
2
- [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.3...3-13-maintenance)
2
+ [Full Changelog](https://github.com/rspec/rspec/compare/rspec-expectations-v3.13.4...3-13-maintenance)
3
+
4
+ ### 3.13.4 / 2025-05-01
5
+
6
+ Bug Fixes:
7
+
8
+ * Prevent `match` from trying to compare strings and arrays using `Array#match`. (Joseph Haig, rspec/rspec#183)
3
9
 
4
10
  ### 3.13.3 / 2024-09-07
5
11
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.2...v3.13.3)
@@ -7,7 +13,7 @@
7
13
  Bug Fixes:
8
14
 
9
15
  * Fix passing a regular expression to the `include` matcher without a count constraint.
10
- (Jon Rowe, #1485)
16
+ (Jon Rowe, rspec/rspec-expectations#1485)
11
17
 
12
18
  ### 3.13.2 / 2024-08-20
13
19
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.1...v3.13.2)
@@ -15,10 +21,10 @@ Bug Fixes:
15
21
  Bug Fixes:
16
22
 
17
23
  * When using null object doubles, prevent typos triggering dynamic matchers.
18
- (Eric Mueller, #1455)
19
- * Use `RSpec.warning` for an expectation warning rather than `Kernel.warn`. (Jon Rowe, #1472)
20
- * Prevent mismatched use of block and value matchers in compound expectations. (Phil Pirozhkov, #1476)
21
- * Raise an error when passing no arguments to the `include` matcher. (Eric Mueller, #1479)
24
+ (Eric Mueller, rspec/rspec-expectations#1455)
25
+ * Use `RSpec.warning` for an expectation warning rather than `Kernel.warn`. (Jon Rowe, rspec/rspec-expectations#1472)
26
+ * Prevent mismatched use of block and value matchers in compound expectations. (Phil Pirozhkov, rspec/rspec-expectations#1476)
27
+ * Raise an error when passing no arguments to the `include` matcher. (Eric Mueller, rspec/rspec-expectations#1479)
22
28
 
23
29
  ### 3.13.1 / 2024-06-13
24
30
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.0...v3.13.1)
@@ -26,7 +32,7 @@ Bug Fixes:
26
32
  Bug Fixes:
27
33
 
28
34
  * Fix the "false positive" warning message when using a negated `raise_error` matcher
29
- with a `RegExp` instance. (Eric Mueller, #1456)
35
+ with a `RegExp` instance. (Eric Mueller, rspec/rspec-expectations#1456)
30
36
 
31
37
  ### 3.13.0 / 2024-02-04
32
38
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.4...v3.13.0)
@@ -34,7 +40,7 @@ Bug Fixes:
34
40
  Enhancements:
35
41
 
36
42
  * Update `eq` and `eql` matchers to better highlight difference in string encoding.
37
- (Alan Foster, #1425)
43
+ (Alan Foster, rspec/rspec-expectations#1425)
38
44
 
39
45
  ### 3.12.4 / 2024-02-04
40
46
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.3...v3.12.4)
@@ -42,7 +48,7 @@ Enhancements:
42
48
  Bug Fixes:
43
49
 
44
50
  * Fix the diff for redefined `actual` and reassigned `@actual` in compound
45
- expectations failure messages. (Phil Pirozhkov, #1440)
51
+ expectations failure messages. (Phil Pirozhkov, rspec/rspec-expectations#1440)
46
52
 
47
53
  ### 3.12.3 / 2023-04-20
48
54
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.2...v3.12.3)
@@ -51,7 +57,7 @@ Bug Fixes:
51
57
 
52
58
  * Fix `include` matcher when fuzzy matching on keys with a hash-like actual which
53
59
  has a non standard `key?` method which may raise.
54
- (Jon Rowe, #1416)
60
+ (Jon Rowe, rspec/rspec-expectations#1416)
55
61
 
56
62
  ### 3.12.2 / 2023-01-07
57
63
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.1...v3.12.2)
@@ -59,16 +65,16 @@ Bug Fixes:
59
65
  Bug Fixes:
60
66
 
61
67
  * Prevent deprecation warning when using the `exist` matcher with `Dir`.
62
- (Steve Dierker, #1398)
68
+ (Steve Dierker, rspec/rspec-expectations#1398)
63
69
 
64
70
  ### 3.12.1 / 2022-12-16
65
71
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.0...v3.12.1)
66
72
 
67
73
  Bug Fixes:
68
74
 
69
- * Pass keyword arguments through to aliased (and thus negated) matchers. (Jon Rowe, #1394)
75
+ * Pass keyword arguments through to aliased (and thus negated) matchers. (Jon Rowe, rspec/rspec-expectations#1394)
70
76
  * When handling failures in an aggregated_failures block (or example) prevent
71
- the failure list leaking out. (Maciek Rząsa, #1392)
77
+ the failure list leaking out. (Maciek Rząsa, rspec/rspec-expectations#1392)
72
78
 
73
79
  ### 3.12.0 / 2022-10-26
74
80
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.1...v3.12.0)
@@ -76,7 +82,7 @@ Bug Fixes:
76
82
  Enhancements:
77
83
 
78
84
  * Add `an_array_matching` alias for `match_array` to improve readability as an argument
79
- matcher. (Mark Schneider, #1361)
85
+ matcher. (Mark Schneider, rspec/rspec-expectations#1361)
80
86
 
81
87
  ### 3.11.1 / 2022-09-12
82
88
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.0...v3.11.1)
@@ -84,33 +90,33 @@ Enhancements:
84
90
  Bug Fixes:
85
91
 
86
92
  * Allow the `contain_exactly` matcher to be reused by resetting its
87
- internals on `matches?` (@bclayman-sq, #1326)
93
+ internals on `matches?` (@bclayman-sq, rspec/rspec-expectations#1326)
88
94
  * Using the exist matcher on `FileTest` no longer produces a deprecation warning.
89
- (Ryo Nakamura, #1383)
95
+ (Ryo Nakamura, rspec/rspec-expectations#1383)
90
96
 
91
97
  ### 3.11.0 / 2022-02-09
92
98
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.2...v3.11.0)
93
99
 
94
100
  Enhancements:
95
101
 
96
- * Return `true` from `aggregate_failures` when no exception occurs. (Jon Rowe, #1225)
102
+ * Return `true` from `aggregate_failures` when no exception occurs. (Jon Rowe, rspec/rspec-expectations#1225)
97
103
 
98
104
  Deprecations:
99
105
 
100
106
  * Print a deprecation message when using the implicit block expectation syntax.
101
- (Phil Pirozhkov, #1139)
107
+ (Phil Pirozhkov, rspec/rspec-expectations#1139)
102
108
 
103
109
  ### 3.10.2 / 2022-01-14
104
110
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.1...v3.10.2)
105
111
 
106
112
  Bug Fixes:
107
113
 
108
- * Fix support for dynamic matchers for expectation target checks (Phil Pirozhkov, #1294)
114
+ * Fix support for dynamic matchers for expectation target checks (Phil Pirozhkov, rspec/rspec-expectations#1294)
109
115
  * Fix `expect(array).to include(hash).times`, previously this would fail due to
110
116
  matching the entire array as a single hash, rather than a member of the hash.
111
- (Slava Kardakov, #1322)
117
+ (Slava Kardakov, rspec/rspec-expectations#1322)
112
118
  * Ensure `raise_error` matches works with the `error_highlight` option from Ruby 3.1.
113
- (Peter Goldstein, #1339)
119
+ (Peter Goldstein, rspec/rspec-expectations#1339)
114
120
 
115
121
  ### 3.10.1 / 2020-12-27
116
122
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
@@ -118,7 +124,7 @@ Bug Fixes:
118
124
  Bug Fixes:
119
125
 
120
126
  * Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
121
- backfill workaround. (#1230, Jon Rowe)
127
+ backfill workaround. (rspec/rspec-expectations#1230, Jon Rowe)
122
128
 
123
129
  ### 3.10.0 / 2020-10-30
124
130
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
@@ -126,19 +132,19 @@ Bug Fixes:
126
132
  Enhancements:
127
133
 
128
134
  * Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
129
- (Marc-André Lafortune, #1168)
130
- * Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
131
- * Improve `include` matcher's composability. (Phil Pirozhkov, #1155)
135
+ (Marc-André Lafortune, rspec/rspec-expectations#1168)
136
+ * Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, rspec/rspec-expectations#1143)
137
+ * Improve `include` matcher's composability. (Phil Pirozhkov, rspec/rspec-expectations#1155)
132
138
  * Mocks expectations can now set a custom failure message.
133
- (Benoit Tigeot and Nicolas Zermati, #1156)
134
- * `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, #1163)
139
+ (Benoit Tigeot and Nicolas Zermati, rspec/rspec-expectations#1156)
140
+ * `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, rspec/rspec-expectations#1163)
135
141
  * Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
136
- (Jon Rowe, #1169)
142
+ (Jon Rowe, rspec/rspec-expectations#1169)
137
143
  * Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
138
- (Marc-André Lafortune, #1195)
144
+ (Marc-André Lafortune, rspec/rspec-expectations#1195)
139
145
  * New config option `strict_predicate_matchers` allows predicate matcher to be strict
140
146
  (i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
141
- (Marc-André Lafortune, #1196)
147
+ (Marc-André Lafortune, rspec/rspec-expectations#1196)
142
148
 
143
149
  ### 3.9.4 / 2020-10-29
144
150
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
@@ -146,7 +152,7 @@ Enhancements:
146
152
  Bug Fixes:
147
153
 
148
154
  * Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
149
- were they would act like keywords and be cast to a hash. (Jon Rowe, #1222)
155
+ were they would act like keywords and be cast to a hash. (Jon Rowe, rspec/rspec-expectations#1222)
150
156
 
151
157
  ### 3.9.3 / 2020-10-23
152
158
 
@@ -154,14 +160,14 @@ Bug Fixes:
154
160
 
155
161
  * Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
156
162
  more complicated oobjects to be compared providing they provide `abs` and other
157
- comparison methods. (Kelly Stannard, #1182)
158
- * Properly format expected in the description of the `be_within` matcher. (Jon Rowe, #1185)
163
+ comparison methods. (Kelly Stannard, rspec/rspec-expectations#1182)
164
+ * Properly format expected in the description of the `be_within` matcher. (Jon Rowe, rspec/rspec-expectations#1185)
159
165
  * Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
160
- (Jon Rowe, #1187)
166
+ (Jon Rowe, rspec/rspec-expectations#1187)
161
167
  * Prevent formatting a single hash as a list of key value pairs in default failure messages
162
- for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, #1193)
168
+ for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, rspec/rspec-expectations#1193)
163
169
  * Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
164
- `expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, #1208)
170
+ `expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, rspec/rspec-expectations#1208)
165
171
 
166
172
 
167
173
  ### 3.9.2 / 2020-05-08
@@ -170,9 +176,9 @@ Bug Fixes:
170
176
  Bug Fixes:
171
177
 
172
178
  * Issue a proper `ArgumentError` when invalid arguments are given to `yield_control`
173
- modifiers such as `at_least` et al. (Marc-André Lafortune, #1167)
179
+ modifiers such as `at_least` et al. (Marc-André Lafortune, rspec/rspec-expectations#1167)
174
180
  * Prevent Ruby 2.7 keyword arguments warning from being issued by custom
175
- matcher definitions. (Jon Rowe, #1176)
181
+ matcher definitions. (Jon Rowe, rspec/rspec-expectations#1176)
176
182
 
177
183
  ### 3.9.1 / 2020-03-13
178
184
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.0...v3.9.1)
@@ -180,7 +186,7 @@ Bug Fixes:
180
186
  Bug Fixes:
181
187
 
182
188
  * Issue an improved warning when using `respond_to(...).with(n).arguments` and ignore
183
- the warning when using with `have_attributes(...)`. (Jon Rowe, #1164)
189
+ the warning when using with `have_attributes(...)`. (Jon Rowe, rspec/rspec-expectations#1164)
184
190
 
185
191
  ### 3.9.0 / 2019-10-08
186
192
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.6...v3.9.0)
@@ -188,19 +194,19 @@ Bug Fixes:
188
194
  Enhancements:
189
195
 
190
196
  * The `respond_to` matcher now uses the signature from `initialize` to validate checks
191
- for `new` (unless `new` is non standard). (Jon Rowe, #1072)
197
+ for `new` (unless `new` is non standard). (Jon Rowe, rspec/rspec-expectations#1072)
192
198
  * Generated descriptions for matchers now use `is expected to` rather than `should` in
193
- line with our preferred DSL. (Pete Johns, #1080, rspec/rspec-core#2572)
199
+ line with our preferred DSL. (Pete Johns, rspec/rspec-expectations#1080, rspec/rspec-corerspec/rspec-expectations#2572)
194
200
  * Add the ability to re-raise expectation errors when matching
195
- with `match_when_negated` blocks. (Jon Rowe, #1130)
201
+ with `match_when_negated` blocks. (Jon Rowe, rspec/rspec-expectations#1130)
196
202
  * Add a warning when an empty diff is produce due to identical inspect output.
197
- (Benoit Tigeot, #1126)
203
+ (Benoit Tigeot, rspec/rspec-expectations#1126)
198
204
 
199
205
  ### 3.8.6 / 2019-10-07
200
206
 
201
207
  Bug Fixes:
202
208
 
203
- * Revert #1125 due to the change being incompatible with our semantic versioning
209
+ * Revert rspec/rspec-expectations#1125 due to the change being incompatible with our semantic versioning
204
210
  policy.
205
211
 
206
212
  ### 3.8.5 / 2019-10-02
@@ -209,7 +215,7 @@ Bug Fixes:
209
215
  Bug Fixes:
210
216
 
211
217
  * Prevent unsupported implicit block expectation syntax from being used.
212
- (Phil Pirozhkov, #1125)
218
+ (Phil Pirozhkov, rspec/rspec-expectations#1125)
213
219
 
214
220
  ### 3.8.4 / 2019-06-10
215
221
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
@@ -217,7 +223,7 @@ Bug Fixes:
217
223
  Bug Fixes:
218
224
 
219
225
  * Prevent false negatives when checking objects for the methods required to run the
220
- the `be_an_instance_of` and `be_kind_of` matchers. (Nazar Matus, #1112)
226
+ the `be_an_instance_of` and `be_kind_of` matchers. (Nazar Matus, rspec/rspec-expectations#1112)
221
227
 
222
228
  ### 3.8.3 / 2019-04-20
223
229
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
@@ -225,12 +231,12 @@ Bug Fixes:
225
231
  Bug Fixes:
226
232
 
227
233
  * Prevent composed `all` matchers from leaking into their siblings leading to duplicate
228
- failures. (Jamie English, #1086)
234
+ failures. (Jamie English, rspec/rspec-expectations#1086)
229
235
  * Prevent objects which change their hash on comparison from failing change checks.
230
- (Phil Pirozhkov, #1100)
236
+ (Phil Pirozhkov, rspec/rspec-expectations#1100)
231
237
  * Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
232
238
  `be_kind_of` matchers encounter objects not supporting those methods.
233
- (Taichi Ishitani, #1107)
239
+ (Taichi Ishitani, rspec/rspec-expectations#1107)
234
240
 
235
241
  ### 3.8.2 / 2018-10-09
236
242
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
@@ -238,9 +244,9 @@ Bug Fixes:
238
244
  Bug Fixes:
239
245
 
240
246
  * Change `include` matcher to rely on a `respond_to?(:include?)` check rather than a direct
241
- Hash comparison before calling `to_hash` to convert to a hash. (Jordan Owens, #1073)
247
+ Hash comparison before calling `to_hash` to convert to a hash. (Jordan Owens, rspec/rspec-expectations#1073)
242
248
  * Prevent unexpected call stack jumps from causing an obscure error (`IndexError`), and
243
- replace that error with a proper informative message. (Jon Rowe, #1076)
249
+ replace that error with a proper informative message. (Jon Rowe, rspec/rspec-expectations#1076)
244
250
 
245
251
  ### 3.8.1 / 2018-08-06
246
252
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)
@@ -249,7 +255,7 @@ Bug Fixes:
249
255
 
250
256
  * Fix regression in `include` matcher so stopped
251
257
  `expect(hash.with_indifferent_access).to include(:symbol_key)`
252
- from working. (Eito Katagiri, #1069)
258
+ from working. (Eito Katagiri, rspec/rspec-expectations#1069)
253
259
 
254
260
  ### 3.8.0 / 2018-08-04
255
261
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...v3.8.0)
@@ -257,20 +263,20 @@ Bug Fixes:
257
263
  Enhancements:
258
264
 
259
265
  * Improve failure message of `change(receiver, :message)` by including the
260
- receiver as `SomeClass#some_message`. (Tomohiro Hashidate, #1005)
266
+ receiver as `SomeClass#some_message`. (Tomohiro Hashidate, rspec/rspec-expectations#1005)
261
267
  * Improve `change` matcher so that it can correctly detect changes in
262
268
  deeply nested mutable objects (such as arrays-of-hashes-of-arrays).
263
269
  The improved logic uses the before/after `hash` value to see if the
264
270
  object has been mutated, rather than shallow duping the object.
265
- (Myron Marston, #1034)
271
+ (Myron Marston, rspec/rspec-expectations#1034)
266
272
  * Improve `include` matcher so that pseudo-hash objects (e.g. objects
267
273
  that decorate a hash using a `SimpleDelegator` or similar) are treated
268
- as a hash, as long as they implement `to_hash`. (Pablo Brasero, #1012)
274
+ as a hash, as long as they implement `to_hash`. (Pablo Brasero, rspec/rspec-expectations#1012)
269
275
  * Add `max_formatted_output_length=` to configuration, allowing changing
270
276
  the length at which we truncate large output strings.
271
- (Sam Phippen #951, Benoit Tigeot #1056)
277
+ (Sam Phippen rspec/rspec-expectations#951, Benoit Tigeot rspec/rspec-expectations#1056)
272
278
  * Improve error message when passing a matcher that doesn't support block
273
- expectations to a block based `expect`. (@nicktime, #1066)
279
+ expectations to a block based `expect`. (@nicktime, rspec/rspec-expectations#1066)
274
280
 
275
281
  ### 3.7.0 / 2017-10-17
276
282
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0)
@@ -278,27 +284,27 @@ Enhancements:
278
284
  Enhancements:
279
285
 
280
286
  * Improve compatibility with `--enable-frozen-string-literal` option
281
- on Ruby 2.3+. (Pat Allan, #997)
287
+ on Ruby 2.3+. (Pat Allan, rspec/rspec-expectations#997)
282
288
 
283
289
  ### 3.6.0 / 2017-05-04
284
290
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0)
285
291
 
286
292
  Enhancements:
287
293
 
288
- * Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, #972)
294
+ * Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, rspec/rspec-expectations#972)
289
295
  * Allow for scoped aliased and negated matchers--just call
290
296
  `alias_matcher` or `define_negated_matcher` from within an example
291
- group. (Markus Reiter, #974)
297
+ group. (Markus Reiter, rspec/rspec-expectations#974)
292
298
  * Improve failure message of `change` matcher with block and `satisfy` matcher
293
299
  by including the block snippet instead of just describing it as `result` or
294
- `block` when Ripper is available. (Yuji Nakayama, #987)
300
+ `block` when Ripper is available. (Yuji Nakayama, rspec/rspec-expectations#987)
295
301
 
296
302
  Bug Fixes:
297
303
 
298
304
  * Fix `yield_with_args` and `yield_successive_args` matchers so that
299
305
  they compare expected to actual args at the time the args are yielded
300
306
  instead of at the end, in case the method that is yielding mutates the
301
- arguments after yielding. (Alyssa Ross, #965)
307
+ arguments after yielding. (Alyssa Ross, rspec/rspec-expectations#965)
302
308
 
303
309
  ### 3.6.0.beta2 / 2016-12-12
304
310
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2)
@@ -306,29 +312,29 @@ Bug Fixes:
306
312
  Bug Fixes:
307
313
 
308
314
  * Using the exist matcher on `File` no longer produces a deprecation warning.
309
- (Jon Rowe, #954)
315
+ (Jon Rowe, rspec/rspec-expectations#954)
310
316
 
311
317
  ### 3.6.0.beta1 / 2016-10-09
312
318
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1)
313
319
 
314
320
  Bug Fixes:
315
321
 
316
- * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940)
317
- * Fix `change` to work correctly with sets. (Marcin Gajewski, #939)
322
+ * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, rspec/rspec-expectations#940)
323
+ * Fix `change` to work correctly with sets. (Marcin Gajewski, rspec/rspec-expectations#939)
318
324
 
319
325
  ### 3.5.0 / 2016-07-01
320
326
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0)
321
327
 
322
328
  Enhancements:
323
329
 
324
- * Add support for keyword arguments to the `respond_to` matcher. (Rob Smith, #915).
330
+ * Add support for keyword arguments to the `respond_to` matcher. (Rob Smith, rspec/rspec-expectations#915).
325
331
 
326
332
  ### 3.5.0.beta4 / 2016-06-05
327
333
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4)
328
334
 
329
335
  Bug Fixes:
330
336
 
331
- * Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, #916)
337
+ * Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, rspec/rspec-expectations#916)
332
338
 
333
339
  ### 3.5.0.beta3 / 2016-04-02
334
340
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3)
@@ -336,11 +342,11 @@ Bug Fixes:
336
342
  Enhancements:
337
343
 
338
344
  * Make `rspec/expectations/minitest_integration` work on Minitest::Spec
339
- 5.6+. (Myron Marston, #904)
345
+ 5.6+. (Myron Marston, rspec/rspec-expectations#904)
340
346
  * Add an alias `having_attributes` for `have_attributes` matcher.
341
- (Yuji Nakayama, #905)
347
+ (Yuji Nakayama, rspec/rspec-expectations#905)
342
348
  * Improve `change` matcher error message when block is mis-used.
343
- (Alex Altair, #908)
349
+ (Alex Altair, rspec/rspec-expectations#908)
344
350
 
345
351
  ### 3.5.0.beta2 / 2016-03-10
346
352
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2)
@@ -348,15 +354,15 @@ Enhancements:
348
354
  Enhancements:
349
355
 
350
356
  * Add the ability to raise an error on encountering false positives via
351
- `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900)
357
+ `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, rspec/rspec-expectations#900)
352
358
  * When using the custom matcher DSL, support new
353
359
  `notify_expectation_failures: true` option for the `match` method to
354
360
  allow expectation failures to be raised as normal instead of being
355
- converted into a `false` return value for `matches?`. (Jon Rowe, #892)
361
+ converted into a `false` return value for `matches?`. (Jon Rowe, rspec/rspec-expectations#892)
356
362
 
357
363
  Bug Fixes:
358
364
 
359
- * Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, #898)
365
+ * Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, rspec/rspec-expectations#898)
360
366
 
361
367
  ### 3.5.0.beta1 / 2016-02-06
362
368
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1)
@@ -364,14 +370,14 @@ Bug Fixes:
364
370
  Enhancements:
365
371
 
366
372
  * Make `match_when_negated` in custom matcher DSL support use of
367
- expectations within the match logic. (Chris Arcand, #789)
373
+ expectations within the match logic. (Chris Arcand, rspec/rspec-expectations#789)
368
374
 
369
375
  Bug Fixes:
370
376
 
371
377
  * Return `true` as expected from passing negated expectations
372
378
  (such as `expect("foo").not_to eq "bar"`), so they work
373
379
  properly when used within a `match` or `match_when_negated`
374
- block. (Chris Arcand, #789)
380
+ block. (Chris Arcand, rspec/rspec-expectations#789)
375
381
 
376
382
  ### 3.4.0 / 2015-11-11
377
383
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
@@ -380,22 +386,22 @@ Enhancements:
380
386
 
381
387
  * Warn when `RSpec::Matchers` is included in a superclass after it has
382
388
  already been included in a subclass on MRI 1.9, since that situation
383
- can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816)
389
+ can cause uses of `super` to trigger infinite recursion. (Myron Marston, rspec/rspec-expectations#816)
384
390
  * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
385
- `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845)
391
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, rspec/rspec-expectations#845)
386
392
  * Add `#with_captures` to the match matcher which allows a user to specify expected
387
- captures when matching a regex against a string. (Sam Phippen, #848)
393
+ captures when matching a regex against a string. (Sam Phippen, rspec/rspec-expectations#848)
388
394
  * Always print compound failure messages in the multi-line form. Trying
389
- to print it all on a single line didn't read very well. (Myron Marston, #859)
395
+ to print it all on a single line didn't read very well. (Myron Marston, rspec/rspec-expectations#859)
390
396
 
391
397
  Bug Fixes:
392
398
 
393
399
  * Fix failure message from dynamic predicate matchers when the object
394
400
  does not respond to the predicate so that it is inspected rather
395
401
  than relying upon its `to_s` -- that way for `nil`, `"nil"` is
396
- printed rather than an empty string. (Myron Marston, #841)
402
+ printed rather than an empty string. (Myron Marston, rspec/rspec-expectations#841)
397
403
  * Fix SystemStackError raised when diffing an Enumerable object
398
- whose `#each` includes the object itself. (Yuji Nakayama, #857)
404
+ whose `#each` includes the object itself. (Yuji Nakayama, rspec/rspec-expectations#857)
399
405
 
400
406
  ### 3.3.1 / 2015-07-15
401
407
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
@@ -405,9 +411,9 @@ Bug Fixes:
405
411
  * Fix `be >`, `be <`, etc so that it fails rather than allowing an
406
412
  argument error to be raised when compared against an object of the
407
413
  wrong type. This allows it to be used in composed matcher expressions
408
- against heterogeneous objects. (Dennis Günnewig, #809)
414
+ against heterogeneous objects. (Dennis Günnewig, rspec/rspec-expectations#809)
409
415
  * Fix `respond_to` to work properly on target objects
410
- that redefine the `method` method. (unmanbearpig, #821)
416
+ that redefine the `method` method. (unmanbearpig, rspec/rspec-expectations#821)
411
417
 
412
418
  ### 3.3.0 / 2015-06-12
413
419
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
@@ -415,50 +421,50 @@ Bug Fixes:
415
421
  Enhancements:
416
422
 
417
423
  * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
418
- nice failure messages in custom matchers. (Jared Beck, #736)
424
+ nice failure messages in custom matchers. (Jared Beck, rspec/rspec-expectations#736)
419
425
  * Add `RSpec::Matchers::FailMatchers`, a mixin which provides
420
426
  `fail`, `fail_with` and `fail_including` matchers for use in
421
427
  specifying that an expectation fails for use by
422
- extension/plugin authors. (Charlie Rudolph, #729)
428
+ extension/plugin authors. (Charlie Rudolph, rspec/rspec-expectations#729)
423
429
  * Avoid loading `tempfile` (and its dependencies) unless
424
- it is absolutely needed. (Myron Marston, #735)
430
+ it is absolutely needed. (Myron Marston, rspec/rspec-expectations#735)
425
431
  * Improve failure output when attempting to use `be_true` or `be_false`.
426
- (Tim Wade, #744)
432
+ (Tim Wade, rspec/rspec-expectations#744)
427
433
  * Define `RSpec::Matchers#respond_to_missing?` so that
428
434
  `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
429
- dynamic predicate matchers. (Andrei Botalov, #751)
435
+ dynamic predicate matchers. (Andrei Botalov, rspec/rspec-expectations#751)
430
436
  * Use custom Time/DateTime/BigDecimal formatting for all matchers
431
437
  so they are consistently represented in failure messages.
432
- (Gavin Miller, #740)
438
+ (Gavin Miller, rspec/rspec-expectations#740)
433
439
  * Add configuration to turn off warnings about matcher combinations that
434
- may cause false positives. (Jon Rowe, #768)
440
+ may cause false positives. (Jon Rowe, rspec/rspec-expectations#768)
435
441
  * Warn when using a bare `raise_error` matcher that you may be subject to
436
- false positives. (Jon Rowe, #768)
442
+ false positives. (Jon Rowe, rspec/rspec-expectations#768)
437
443
  * Warn rather than raise when using the`raise_error` matcher in negative
438
- expectations that may be subject to false positives. (Jon Rowe, #775)
444
+ expectations that may be subject to false positives. (Jon Rowe, rspec/rspec-expectations#775)
439
445
  * Improve failure message for `include(a, b, c)` so that if `a` and `b`
440
- are included the failure message only mentions `c`. (Chris Arcand, #780)
446
+ are included the failure message only mentions `c`. (Chris Arcand, rspec/rspec-expectations#780)
441
447
  * Allow `satisfy` matcher to take an optional description argument
442
448
  that will be used in the `description`, `failure_message` and
443
449
  `failure_message_when_negated` in place of the undescriptive
444
- "sastify block". (Chris Arcand, #783)
450
+ "sastify block". (Chris Arcand, rspec/rspec-expectations#783)
445
451
  * Add new `aggregate_failures` API that allows multiple independent
446
452
  expectations to all fail and be listed in the failure output, rather
447
- than the example aborting on the first failure. (Myron Marston, #776)
453
+ than the example aborting on the first failure. (Myron Marston, rspec/rspec-expectations#776)
448
454
  * Improve `raise_error` matcher so that it can accept a matcher as a single argument
449
- that matches the message. (Time Wade, #782)
455
+ that matches the message. (Time Wade, rspec/rspec-expectations#782)
450
456
 
451
457
  Bug Fixes:
452
458
 
453
459
  * Make `contain_exactly` / `match_array` work with strict test doubles
454
- that have not defined `<=>`. (Myron Marston, #758)
460
+ that have not defined `<=>`. (Myron Marston, rspec/rspec-expectations#758)
455
461
  * Fix `include` matcher so that it omits the diff when it would
456
462
  confusingly highlight items that are actually included but are not
457
- an exact match in a line-by-line diff. (Tim Wade, #763)
463
+ an exact match in a line-by-line diff. (Tim Wade, rspec/rspec-expectations#763)
458
464
  * Fix `match` matcher so that it does not blow up when matching a string
459
465
  or regex against another matcher (rather than a string or regex).
460
- (Myron Marston, #772)
461
- * Silence whitespace-only diffs. (Myron Marston, #801)
466
+ (Myron Marston, rspec/rspec-expectations#772)
467
+ * Silence whitespace-only diffs. (Myron Marston, rspec/rspec-expectations#801)
462
468
 
463
469
  ### 3.2.1 / 2015-04-06
464
470
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
@@ -466,9 +472,9 @@ Bug Fixes:
466
472
  Bug Fixes:
467
473
 
468
474
  * Prevent `Range`s from being enumerated when generating matcher
469
- descriptions. (Jon Rowe, #755)
475
+ descriptions. (Jon Rowe, rspec/rspec-expectations#755)
470
476
  * Ensure exception messages are compared as strings in the `raise_error`
471
- matcher. (Jon Rowe, #755)
477
+ matcher. (Jon Rowe, rspec/rspec-expectations#755)
472
478
 
473
479
  ### 3.2.0 / 2015-02-03
474
480
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
@@ -477,25 +483,25 @@ Enhancements:
477
483
 
478
484
  * Add `block_arg` method to custom matcher API, which allows you to
479
485
  access the block passed to a custom matcher, if there is one.
480
- (Mike Dalton, #645)
486
+ (Mike Dalton, rspec/rspec-expectations#645)
481
487
  * Provide more detail in failure message of `yield_control` matcher.
482
- (Jon Rowe, #650)
488
+ (Jon Rowe, rspec/rspec-expectations#650)
483
489
  * Add a shorthand syntax for `chain` in the matcher DSL which assigns values
484
490
  for use elsewhere, for example `chain :and_smaller_than, :small_value`
485
- creates an `attr_reader` for `small_value` (Tom Stuart, #644)
491
+ creates an `attr_reader` for `small_value` (Tom Stuart, rspec/rspec-expectations#644)
486
492
  * Provide a more helpful deprecation message when using the `should` syntax.
487
- (Elia Schito, #663)
493
+ (Elia Schito, rspec/rspec-expectations#663)
488
494
  * Provide more detail in the `have_attributes` matcher failure message.
489
- (Jon Rowe, #668)
495
+ (Jon Rowe, rspec/rspec-expectations#668)
490
496
  * Make the `have_attributes` matcher diffable.
491
- (Jon Rowe, Alexey Fedorov, #668)
497
+ (Jon Rowe, Alexey Fedorov, rspec/rspec-expectations#668)
492
498
  * Add `output(...).to_std(out|err)_from_any_process` as alternatives
493
499
  to `output(...).to_std(out|err)`. The latter doesn't work when a sub
494
500
  process writes to the named stream but is much faster.
495
- (Alex Genco, #700)
501
+ (Alex Genco, rspec/rspec-expectations#700)
496
502
  * Improve compound matchers (created by `and` and `or`) so that diffs
497
503
  are included in failures when one or more of their matchers
498
- are diffable. (Alexey Fedorov, #713)
504
+ are diffable. (Alexey Fedorov, rspec/rspec-expectations#713)
499
505
 
500
506
  Bug Fixes:
501
507
 
@@ -503,17 +509,17 @@ Bug Fixes:
503
509
  the target object if the object publicly responds to the predicate
504
510
  method. This avoids a possible error that can occur if the object
505
511
  raises errors from `private_methods` (which can happen with celluloid
506
- objects). (@chapmajs, #670)
512
+ objects). (@chapmajs, rspec/rspec-expectations#670)
507
513
  * Make `yield_control` (with no modifier) default to
508
514
  `at_least(:once)` rather than raising a confusing error
509
515
  when multiple yields are encountered.
510
- (Myron Marston, #675)
516
+ (Myron Marston, rspec/rspec-expectations#675)
511
517
  * Fix "instance variable @color not initialized" warning when using
512
- rspec-expectations outside of an rspec-core context. (Myron Marston, #689)
518
+ rspec-expectations outside of an rspec-core context. (Myron Marston, rspec/rspec-expectations#689)
513
519
  * Fix `start_with` and `end_with` to work properly when checking a
514
- string against an array of strings. (Myron Marston, #690)
520
+ string against an array of strings. (Myron Marston, rspec/rspec-expectations#690)
515
521
  * Don't use internally delegated matchers when generating descriptions
516
- for examples without doc strings. (Myron Marston, #692)
522
+ for examples without doc strings. (Myron Marston, rspec/rspec-expectations#692)
517
523
 
518
524
  ### 3.1.2 / 2014-09-26
519
525
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
@@ -522,9 +528,9 @@ Bug Fixes:
522
528
 
523
529
  * Fix `define_negated_matcher` so that matchers that support fluent
524
530
  interfaces continue to be negated after you use the chained method.
525
- (Myron Marston, #656)
531
+ (Myron Marston, rspec/rspec-expectations#656)
526
532
  * Fix `define_negated_matcher` so that the matchers fail with an
527
- appropriate failure message. (Myron Marston, #659)
533
+ appropriate failure message. (Myron Marston, rspec/rspec-expectations#659)
528
534
 
529
535
  ### 3.1.1 / 2014-09-15
530
536
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.0...v3.1.1)
@@ -533,7 +539,7 @@ Bug Fixes:
533
539
 
534
540
  * Fix regression in `all` matcher in 3.1.0 that prevented it from
535
541
  working on objects that are not `Enumerable` but do implement
536
- `each_with_index` (such as an ActiveRecord proxy). (Jori Hardman, #647)
542
+ `each_with_index` (such as an ActiveRecord proxy). (Jori Hardman, rspec/rspec-expectations#647)
537
543
 
538
544
  ### 3.1.0 / 2014-09-04
539
545
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.4...v3.1.0)
@@ -545,26 +551,26 @@ Enhancements:
545
551
  `Person = Struct.new(:name, :age)`
546
552
  `person = Person.new("Bob", 32)`
547
553
  `expect(person).to have_attributes(:name => "Bob", :age => 32)`.
548
- (Adam Farhi, #571)
554
+ (Adam Farhi, rspec/rspec-expectations#571)
549
555
  * Extended compound matcher support to block matchers, for cases like:
550
556
  `expect { ... }.to change { x }.to(3).and change { y }.to(4)`. (Myron
551
- Marston, #567)
557
+ Marston, rspec/rspec-expectations#567)
552
558
  * Include chained methods in custom matcher description and failure message
553
559
  when new `include_chain_clauses_in_custom_matcher_descriptions` config
554
- option is enabled. (Dan Oved, #600)
560
+ option is enabled. (Dan Oved, rspec/rspec-expectations#600)
555
561
  * Add `thrice` modifier to `yield_control` matcher as a synonym for
556
- `exactly(3).times`. (Dennis Taylor, #615)
562
+ `exactly(3).times`. (Dennis Taylor, rspec/rspec-expectations#615)
557
563
  * Add `RSpec::Matchers.define_negated_matcher`, which defines a negated
558
- version of the named matcher. (Adam Farhi, Myron Marston, #618)
564
+ version of the named matcher. (Adam Farhi, Myron Marston, rspec/rspec-expectations#618)
559
565
  * Document and support negation of `contain_exactly`/`match_array`.
560
- (Jon Rowe, #626).
566
+ (Jon Rowe, rspec/rspec-expectations#626).
561
567
 
562
568
  Bug Fixes:
563
569
 
564
570
  * Rename private `LegacyMacherAdapter` constant to `LegacyMatcherAdapter`
565
- to fix typo. (Abdelkader Boudih, #563)
571
+ to fix typo. (Abdelkader Boudih, rspec/rspec-expectations#563)
566
572
  * Fix `all` matcher so that it fails properly (rather than raising a
567
- `NoMethodError`) when matched against a non-enumerable. (Hao Su, #622)
573
+ `NoMethodError`) when matched against a non-enumerable. (Hao Su, rspec/rspec-expectations#622)
568
574
 
569
575
  ### 3.0.4 / 2014-08-14
570
576
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.3...v3.0.4)
@@ -572,12 +578,12 @@ Bug Fixes:
572
578
  Bug Fixes:
573
579
 
574
580
  * Fix `start_with` and `end_with` so that they work properly with
575
- structs. (Myron Marston, #620)
581
+ structs. (Myron Marston, rspec/rspec-expectations#620)
576
582
  * Fix failure message generation so that structs are printed properly
577
583
  in failures. Previously failure messages would represent them as
578
- an array. (Myron Marston, #620)
584
+ an array. (Myron Marston, rspec/rspec-expectations#620)
579
585
  * Fix composable matcher support so that it does not wrongly treat
580
- structs as arrays. (Myron Marston, #620)
586
+ structs as arrays. (Myron Marston, rspec/rspec-expectations#620)
581
587
 
582
588
  ### 3.0.3 / 2014-07-21
583
589
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.2...v3.0.3)
@@ -585,10 +591,10 @@ Bug Fixes:
585
591
  Bug Fixes:
586
592
 
587
593
  * Fix issue with detection of generic operator matchers so they work
588
- correctly when undefined. (Myron Marston, #597)
589
- * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, #603)
594
+ correctly when undefined. (Myron Marston, rspec/rspec-expectations#597)
595
+ * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, rspec/rspec-expectations#603)
590
596
  * Fix `include` matcher so that it fails gracefully when matched against
591
- an object that does not respond to `include?`. (Myron Marston, #607)
597
+ an object that does not respond to `include?`. (Myron Marston, rspec/rspec-expectations#607)
592
598
 
593
599
  ### 3.0.2 / 2014-06-19
594
600
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.1...v3.0.2)
@@ -596,12 +602,12 @@ Bug Fixes:
596
602
  Bug Fixes:
597
603
 
598
604
  * Fix regression in `contain_exactly` (AKA `match_array`) that caused it
599
- to wrongly pass when the expected array was empty. (Myron Marston, #581)
605
+ to wrongly pass when the expected array was empty. (Myron Marston, rspec/rspec-expectations#581)
600
606
  * Provide a better error message when you use the `change(obj, :msg)`
601
607
  form of the change matcher but forget the message argument. (Alex
602
- Sunderland, #585)
608
+ Sunderland, rspec/rspec-expectations#585)
603
609
  * Make the `contain_exactly` matcher work with arrays that contain hashes in
604
- arbitrary ordering. (Sam Phippen, #578)
610
+ arbitrary ordering. (Sam Phippen, rspec/rspec-expectations#578)
605
611
 
606
612
  ### 3.0.1 / 2014-06-12
607
613
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0...v3.0.1)
@@ -610,8 +616,8 @@ Bug Fixes:
610
616
 
611
617
  * Add a missing `require` that would cause the `respond_to` matcher to
612
618
  fail when used in a project where the rest of RSpec (e.g. core and
613
- expecatations) weren't being used. (Myron Marston, #566)
614
- * Structs are no longer treated as arrays when diffed. (Jon Rowe, #576)
619
+ expecatations) weren't being used. (Myron Marston, rspec/rspec-expectations#566)
620
+ * Structs are no longer treated as arrays when diffed. (Jon Rowe, rspec/rspec-expectations#576)
615
621
 
616
622
  ### 3.0.0 / 2014-06-01
617
623
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.rc1...v3.0.0)
@@ -829,9 +835,9 @@ Bug Fixes:
829
835
 
830
836
  * Fix regression in `Expectations#method_handle_for` where proxy objects
831
837
  with method delegated would wrongly not return a method handle.
832
- (Jon Rowe, #594)
838
+ (Jon Rowe, rspec/rspec-expectations#594)
833
839
  * Fix issue with detection of generic operator matchers so they work
834
- correctly when undefined. (Myron Marston, #597)
840
+ correctly when undefined. (Myron Marston, rspec/rspec-expectations#597)
835
841
 
836
842
  ### 2.99.1 / 2014-06-19
837
843
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0...v2.99.1)
@@ -839,7 +845,7 @@ Bug Fixes:
839
845
  Bug Fixes:
840
846
 
841
847
  * Fix typo in custom matcher `expected` deprecation warning -- it's
842
- `expected_as_array`, not `expected_array`. (Frederick Cheung, #562)
848
+ `expected_as_array`, not `expected_array`. (Frederick Cheung, rspec/rspec-expectations#562)
843
849
 
844
850
  ### 2.99.0 / 2014-06-01
845
851
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.rc1...v2.99.0)
@@ -179,11 +179,18 @@ module RSpec
179
179
  # no-op, handler is something else
180
180
  end
181
181
  end
182
+
183
+ # Configures what RSpec will do about matcher use which would potentially cause
184
+ # false positives in tests. Defaults to `:warn` since this is generally the desired behavior,
185
+ # but can also be set to `:raise` or `:nothing`.
182
186
  #
183
- # Configures what RSpec will do about matcher use which will
184
- # potentially cause false positives in tests.
185
- #
186
- # @param [Symbol] behavior can be set to :warn, :raise or :nothing
187
+ # @overload on_potential_false_positives
188
+ # @return [Symbol] the behavior setting
189
+ # @overload on_potential_false_positives=(value)
190
+ # @param [Symbol] behavior can be set to `:warn`, `:raise` or `:nothing`
191
+ # @return [Symbol] the behavior setting
192
+ attr_reader :on_potential_false_positives
193
+
187
194
  def on_potential_false_positives=(behavior)
188
195
  unless FALSE_POSITIVE_BEHAVIOURS.key?(behavior)
189
196
  raise ArgumentError, "Supported values are: #{FALSE_POSITIVE_BEHAVIOURS.keys}"
@@ -194,22 +201,24 @@ module RSpec
194
201
  # Configures RSpec to check predicate matchers to `be(true)` / `be(false)` (strict),
195
202
  # or `be_truthy` / `be_falsey` (not strict).
196
203
  # Historically, the default was `false`, but `true` is recommended.
197
- def strict_predicate_matchers=(flag)
198
- raise ArgumentError, "Pass `true` or `false`" unless flag == true || flag == false
199
- @strict_predicate_matchers = flag
200
- end
201
-
204
+ #
205
+ # @overload strict_predicate_matchers
206
+ # @return [Boolean]
207
+ # @overload strict_predicate_matchers?
208
+ # @return [Boolean]
209
+ # @overload strict_predicate_matchers=(value)
210
+ # @param [Boolean] value
202
211
  attr_reader :strict_predicate_matchers
203
212
 
213
+ def strict_predicate_matchers=(value)
214
+ raise ArgumentError, "Pass `true` or `false`" unless value == true || value == false
215
+ @strict_predicate_matchers = value
216
+ end
217
+
204
218
  def strict_predicate_matchers?
205
219
  @strict_predicate_matchers
206
220
  end
207
221
 
208
- # Indicates what RSpec will do about matcher use which will
209
- # potentially cause false positives in tests, generally you want to
210
- # avoid such scenarios so this defaults to `true`.
211
- attr_reader :on_potential_false_positives
212
-
213
222
  # Indicates whether RSpec will warn about matcher use which will
214
223
  # potentially cause false positives in tests, generally you want to
215
224
  # avoid such scenarios so this defaults to `true`.
@@ -2,7 +2,7 @@ module RSpec
2
2
  module Expectations
3
3
  # @private
4
4
  module Version
5
- STRING = '3.13.3'
5
+ STRING = '3.13.4'
6
6
  end
7
7
  end
8
8
  end
@@ -33,11 +33,23 @@ module RSpec
33
33
  self
34
34
  end
35
35
 
36
+ # @api private
37
+ # @return [String]
38
+ def failure_message
39
+ if Array === expected && !(actual.respond_to?(:to_a) || actual.respond_to?(:to_ary))
40
+ return "expected a collection that can be converted to an array with " \
41
+ "`#to_ary` or `#to_a`, but got #{actual_formatted}"
42
+ end
43
+
44
+ super
45
+ end
46
+
36
47
  private
37
48
 
38
49
  def match(expected, actual)
39
50
  return match_captures(expected, actual) if @expected_captures
40
51
  return true if values_match?(expected, actual)
52
+ return false if Array === expected
41
53
  return false unless can_safely_call_match?(expected, actual)
42
54
  actual.match(expected)
43
55
  end
@@ -467,11 +467,12 @@ module RSpec
467
467
  @chained_method_clauses = []
468
468
  @block_arg = block_arg
469
469
 
470
- klass = class << self
471
- # See `Macros#define_user_override` above, for an explanation.
472
- include(@user_method_defs = Module.new)
473
- self
474
- end
470
+ klass =
471
+ class << self
472
+ # See `Macros#define_user_override` above, for an explanation.
473
+ include(@user_method_defs = Module.new)
474
+ self
475
+ end
475
476
  RSpec::Support::WithKeywordsWhenNeeded.class_exec(klass, *expected, &declarations)
476
477
  end
477
478
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,22 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-expectations
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.3
4
+ version: 3.13.4
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-09-07 00:00:00.000000000 Z
46
+ date: 2025-05-01 00:00:00.000000000 Z
49
47
  dependencies:
50
48
  - !ruby/object:Gem::Dependency
51
49
  name: rspec-support
@@ -81,62 +79,6 @@ dependencies:
81
79
  - - "<"
82
80
  - !ruby/object:Gem::Version
83
81
  version: '2.0'
84
- - !ruby/object:Gem::Dependency
85
- name: aruba
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: 0.14.10
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: 0.14.10
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: minitest
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - "~>"
117
- - !ruby/object:Gem::Version
118
- version: '5.2'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '5.2'
126
- - !ruby/object:Gem::Dependency
127
- name: rake
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">"
131
- - !ruby/object:Gem::Version
132
- version: 10.0.0
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">"
138
- - !ruby/object:Gem::Version
139
- version: 10.0.0
140
82
  description: rspec-expectations provides a simple, readable API to express expected
141
83
  outcomes of a code example.
142
84
  email: rspec@googlegroups.com
@@ -203,11 +145,10 @@ licenses:
203
145
  - MIT
204
146
  metadata:
205
147
  bug_tracker_uri: https://github.com/rspec/rspec-expectations/issues
206
- changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.13.3/Changelog.md
148
+ changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.13.4/Changelog.md
207
149
  documentation_uri: https://rspec.info/documentation/
208
150
  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
209
151
  source_code_uri: https://github.com/rspec/rspec-expectations
210
- post_install_message:
211
152
  rdoc_options:
212
153
  - "--charset=UTF-8"
213
154
  require_paths:
@@ -223,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
164
  - !ruby/object:Gem::Version
224
165
  version: '0'
225
166
  requirements: []
226
- rubygems_version: 3.4.19
227
- signing_key:
167
+ rubygems_version: 3.6.2
228
168
  specification_version: 4
229
- summary: rspec-expectations-3.13.3
169
+ summary: rspec-expectations-3.13.4
230
170
  test_files: []
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- ���VZ[07Ud:��B7%�dw|��t�%*��z �$��ZFz|vh"���{�?m��%�����41�,��������R���gЗ�Ly���!�,뚄kv�sRe��c����>b�E�l����N׃��v(85q����A��ya�Ї;)ft7FU�h�hΉt|7�j"�F}�a�S��6��UVuDCo�<�z~W{���3r�:�V�wѓ���L�БT;��Ѹ���w�3��ʎ;��쵶��j��Oǃ-�h�<=Y��xHA/�ŝ؉\�V��q@���n L��1_+ظ+eV=
2
- �a��i���eg6��V@G��f�4���A��,F
3
- ]��������Ã:�v~%@��۪,���?�" ���W#�~��6�����d���?�7�Q���^v'�lq�#�'T���� ��*ެ��(��Y\��i')��IW��|�3g6����o�~���e�`r�l�4U�Ł
1
+ ��(����/!De�kgY='Mm2����<l�t��l,a���uYL�� ��T+�L��X�T�.񀜮�o/��� �:d7 �����!f�Xr4vV��1*��K�IQei�:��gZH<���8������a������HƢ�Lj3��س�� ��
2
+ Q�H�c�9�@Rp?�.����ri�M5h[�t1�C�7���qQ Ʈ�Cy4.>[F=�{�;�6���e5�a:���ma�1���Cf�ޞ�� �v�����V�s��f1<X���Qsi_4��]B���h���=��{4�|Ĉ����WY0U�b�X;2l9���i4>L���.��p����� ʭ�����������x��A���`L��h�$g#����m��.E�*�š~L�lz�����H��