rspec-expectations 3.13.0 → 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.
data/Changelog.md CHANGED
@@ -1,5 +1,38 @@
1
1
  ### Development
2
- [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.3...main)
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)
9
+
10
+ ### 3.13.3 / 2024-09-07
11
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.2...v3.13.3)
12
+
13
+ Bug Fixes:
14
+
15
+ * Fix passing a regular expression to the `include` matcher without a count constraint.
16
+ (Jon Rowe, rspec/rspec-expectations#1485)
17
+
18
+ ### 3.13.2 / 2024-08-20
19
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.1...v3.13.2)
20
+
21
+ Bug Fixes:
22
+
23
+ * When using null object doubles, prevent typos triggering dynamic matchers.
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)
28
+
29
+ ### 3.13.1 / 2024-06-13
30
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.13.0...v3.13.1)
31
+
32
+ Bug Fixes:
33
+
34
+ * Fix the "false positive" warning message when using a negated `raise_error` matcher
35
+ with a `RegExp` instance. (Eric Mueller, rspec/rspec-expectations#1456)
3
36
 
4
37
  ### 3.13.0 / 2024-02-04
5
38
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.4...v3.13.0)
@@ -7,7 +40,7 @@
7
40
  Enhancements:
8
41
 
9
42
  * Update `eq` and `eql` matchers to better highlight difference in string encoding.
10
- (Alan Foster, #1425)
43
+ (Alan Foster, rspec/rspec-expectations#1425)
11
44
 
12
45
  ### 3.12.4 / 2024-02-04
13
46
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.3...v3.12.4)
@@ -15,7 +48,7 @@ Enhancements:
15
48
  Bug Fixes:
16
49
 
17
50
  * Fix the diff for redefined `actual` and reassigned `@actual` in compound
18
- expectations failure messages. (Phil Pirozhkov, #1440)
51
+ expectations failure messages. (Phil Pirozhkov, rspec/rspec-expectations#1440)
19
52
 
20
53
  ### 3.12.3 / 2023-04-20
21
54
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.2...v3.12.3)
@@ -24,7 +57,7 @@ Bug Fixes:
24
57
 
25
58
  * Fix `include` matcher when fuzzy matching on keys with a hash-like actual which
26
59
  has a non standard `key?` method which may raise.
27
- (Jon Rowe, #1416)
60
+ (Jon Rowe, rspec/rspec-expectations#1416)
28
61
 
29
62
  ### 3.12.2 / 2023-01-07
30
63
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.1...v3.12.2)
@@ -32,16 +65,16 @@ Bug Fixes:
32
65
  Bug Fixes:
33
66
 
34
67
  * Prevent deprecation warning when using the `exist` matcher with `Dir`.
35
- (Steve Dierker, #1398)
68
+ (Steve Dierker, rspec/rspec-expectations#1398)
36
69
 
37
70
  ### 3.12.1 / 2022-12-16
38
71
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.0...v3.12.1)
39
72
 
40
73
  Bug Fixes:
41
74
 
42
- * 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)
43
76
  * When handling failures in an aggregated_failures block (or example) prevent
44
- the failure list leaking out. (Maciek Rząsa, #1392)
77
+ the failure list leaking out. (Maciek Rząsa, rspec/rspec-expectations#1392)
45
78
 
46
79
  ### 3.12.0 / 2022-10-26
47
80
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.1...v3.12.0)
@@ -49,7 +82,7 @@ Bug Fixes:
49
82
  Enhancements:
50
83
 
51
84
  * Add `an_array_matching` alias for `match_array` to improve readability as an argument
52
- matcher. (Mark Schneider, #1361)
85
+ matcher. (Mark Schneider, rspec/rspec-expectations#1361)
53
86
 
54
87
  ### 3.11.1 / 2022-09-12
55
88
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.0...v3.11.1)
@@ -57,33 +90,33 @@ Enhancements:
57
90
  Bug Fixes:
58
91
 
59
92
  * Allow the `contain_exactly` matcher to be reused by resetting its
60
- internals on `matches?` (@bclayman-sq, #1326)
93
+ internals on `matches?` (@bclayman-sq, rspec/rspec-expectations#1326)
61
94
  * Using the exist matcher on `FileTest` no longer produces a deprecation warning.
62
- (Ryo Nakamura, #1383)
95
+ (Ryo Nakamura, rspec/rspec-expectations#1383)
63
96
 
64
97
  ### 3.11.0 / 2022-02-09
65
98
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.2...v3.11.0)
66
99
 
67
100
  Enhancements:
68
101
 
69
- * 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)
70
103
 
71
104
  Deprecations:
72
105
 
73
106
  * Print a deprecation message when using the implicit block expectation syntax.
74
- (Phil Pirozhkov, #1139)
107
+ (Phil Pirozhkov, rspec/rspec-expectations#1139)
75
108
 
76
109
  ### 3.10.2 / 2022-01-14
77
110
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.1...v3.10.2)
78
111
 
79
112
  Bug Fixes:
80
113
 
81
- * 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)
82
115
  * Fix `expect(array).to include(hash).times`, previously this would fail due to
83
116
  matching the entire array as a single hash, rather than a member of the hash.
84
- (Slava Kardakov, #1322)
117
+ (Slava Kardakov, rspec/rspec-expectations#1322)
85
118
  * Ensure `raise_error` matches works with the `error_highlight` option from Ruby 3.1.
86
- (Peter Goldstein, #1339)
119
+ (Peter Goldstein, rspec/rspec-expectations#1339)
87
120
 
88
121
  ### 3.10.1 / 2020-12-27
89
122
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
@@ -91,7 +124,7 @@ Bug Fixes:
91
124
  Bug Fixes:
92
125
 
93
126
  * Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
94
- backfill workaround. (#1230, Jon Rowe)
127
+ backfill workaround. (rspec/rspec-expectations#1230, Jon Rowe)
95
128
 
96
129
  ### 3.10.0 / 2020-10-30
97
130
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
@@ -99,19 +132,19 @@ Bug Fixes:
99
132
  Enhancements:
100
133
 
101
134
  * Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
102
- (Marc-André Lafortune, #1168)
103
- * Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
104
- * 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)
105
138
  * Mocks expectations can now set a custom failure message.
106
- (Benoit Tigeot and Nicolas Zermati, #1156)
107
- * `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)
108
141
  * Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
109
- (Jon Rowe, #1169)
142
+ (Jon Rowe, rspec/rspec-expectations#1169)
110
143
  * Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
111
- (Marc-André Lafortune, #1195)
144
+ (Marc-André Lafortune, rspec/rspec-expectations#1195)
112
145
  * New config option `strict_predicate_matchers` allows predicate matcher to be strict
113
146
  (i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
114
- (Marc-André Lafortune, #1196)
147
+ (Marc-André Lafortune, rspec/rspec-expectations#1196)
115
148
 
116
149
  ### 3.9.4 / 2020-10-29
117
150
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
@@ -119,7 +152,7 @@ Enhancements:
119
152
  Bug Fixes:
120
153
 
121
154
  * Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
122
- 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)
123
156
 
124
157
  ### 3.9.3 / 2020-10-23
125
158
 
@@ -127,14 +160,14 @@ Bug Fixes:
127
160
 
128
161
  * Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
129
162
  more complicated oobjects to be compared providing they provide `abs` and other
130
- comparison methods. (Kelly Stannard, #1182)
131
- * 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)
132
165
  * Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
133
- (Jon Rowe, #1187)
166
+ (Jon Rowe, rspec/rspec-expectations#1187)
134
167
  * Prevent formatting a single hash as a list of key value pairs in default failure messages
135
- 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)
136
169
  * Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
137
- `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)
138
171
 
139
172
 
140
173
  ### 3.9.2 / 2020-05-08
@@ -143,9 +176,9 @@ Bug Fixes:
143
176
  Bug Fixes:
144
177
 
145
178
  * Issue a proper `ArgumentError` when invalid arguments are given to `yield_control`
146
- 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)
147
180
  * Prevent Ruby 2.7 keyword arguments warning from being issued by custom
148
- matcher definitions. (Jon Rowe, #1176)
181
+ matcher definitions. (Jon Rowe, rspec/rspec-expectations#1176)
149
182
 
150
183
  ### 3.9.1 / 2020-03-13
151
184
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.0...v3.9.1)
@@ -153,7 +186,7 @@ Bug Fixes:
153
186
  Bug Fixes:
154
187
 
155
188
  * Issue an improved warning when using `respond_to(...).with(n).arguments` and ignore
156
- the warning when using with `have_attributes(...)`. (Jon Rowe, #1164)
189
+ the warning when using with `have_attributes(...)`. (Jon Rowe, rspec/rspec-expectations#1164)
157
190
 
158
191
  ### 3.9.0 / 2019-10-08
159
192
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.6...v3.9.0)
@@ -161,19 +194,19 @@ Bug Fixes:
161
194
  Enhancements:
162
195
 
163
196
  * The `respond_to` matcher now uses the signature from `initialize` to validate checks
164
- for `new` (unless `new` is non standard). (Jon Rowe, #1072)
197
+ for `new` (unless `new` is non standard). (Jon Rowe, rspec/rspec-expectations#1072)
165
198
  * Generated descriptions for matchers now use `is expected to` rather than `should` in
166
- 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)
167
200
  * Add the ability to re-raise expectation errors when matching
168
- with `match_when_negated` blocks. (Jon Rowe, #1130)
201
+ with `match_when_negated` blocks. (Jon Rowe, rspec/rspec-expectations#1130)
169
202
  * Add a warning when an empty diff is produce due to identical inspect output.
170
- (Benoit Tigeot, #1126)
203
+ (Benoit Tigeot, rspec/rspec-expectations#1126)
171
204
 
172
205
  ### 3.8.6 / 2019-10-07
173
206
 
174
207
  Bug Fixes:
175
208
 
176
- * 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
177
210
  policy.
178
211
 
179
212
  ### 3.8.5 / 2019-10-02
@@ -182,7 +215,7 @@ Bug Fixes:
182
215
  Bug Fixes:
183
216
 
184
217
  * Prevent unsupported implicit block expectation syntax from being used.
185
- (Phil Pirozhkov, #1125)
218
+ (Phil Pirozhkov, rspec/rspec-expectations#1125)
186
219
 
187
220
  ### 3.8.4 / 2019-06-10
188
221
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
@@ -190,7 +223,7 @@ Bug Fixes:
190
223
  Bug Fixes:
191
224
 
192
225
  * Prevent false negatives when checking objects for the methods required to run the
193
- 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)
194
227
 
195
228
  ### 3.8.3 / 2019-04-20
196
229
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
@@ -198,12 +231,12 @@ Bug Fixes:
198
231
  Bug Fixes:
199
232
 
200
233
  * Prevent composed `all` matchers from leaking into their siblings leading to duplicate
201
- failures. (Jamie English, #1086)
234
+ failures. (Jamie English, rspec/rspec-expectations#1086)
202
235
  * Prevent objects which change their hash on comparison from failing change checks.
203
- (Phil Pirozhkov, #1100)
236
+ (Phil Pirozhkov, rspec/rspec-expectations#1100)
204
237
  * Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
205
238
  `be_kind_of` matchers encounter objects not supporting those methods.
206
- (Taichi Ishitani, #1107)
239
+ (Taichi Ishitani, rspec/rspec-expectations#1107)
207
240
 
208
241
  ### 3.8.2 / 2018-10-09
209
242
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
@@ -211,9 +244,9 @@ Bug Fixes:
211
244
  Bug Fixes:
212
245
 
213
246
  * Change `include` matcher to rely on a `respond_to?(:include?)` check rather than a direct
214
- 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)
215
248
  * Prevent unexpected call stack jumps from causing an obscure error (`IndexError`), and
216
- 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)
217
250
 
218
251
  ### 3.8.1 / 2018-08-06
219
252
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)
@@ -222,7 +255,7 @@ Bug Fixes:
222
255
 
223
256
  * Fix regression in `include` matcher so stopped
224
257
  `expect(hash.with_indifferent_access).to include(:symbol_key)`
225
- from working. (Eito Katagiri, #1069)
258
+ from working. (Eito Katagiri, rspec/rspec-expectations#1069)
226
259
 
227
260
  ### 3.8.0 / 2018-08-04
228
261
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...v3.8.0)
@@ -230,20 +263,20 @@ Bug Fixes:
230
263
  Enhancements:
231
264
 
232
265
  * Improve failure message of `change(receiver, :message)` by including the
233
- receiver as `SomeClass#some_message`. (Tomohiro Hashidate, #1005)
266
+ receiver as `SomeClass#some_message`. (Tomohiro Hashidate, rspec/rspec-expectations#1005)
234
267
  * Improve `change` matcher so that it can correctly detect changes in
235
268
  deeply nested mutable objects (such as arrays-of-hashes-of-arrays).
236
269
  The improved logic uses the before/after `hash` value to see if the
237
270
  object has been mutated, rather than shallow duping the object.
238
- (Myron Marston, #1034)
271
+ (Myron Marston, rspec/rspec-expectations#1034)
239
272
  * Improve `include` matcher so that pseudo-hash objects (e.g. objects
240
273
  that decorate a hash using a `SimpleDelegator` or similar) are treated
241
- 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)
242
275
  * Add `max_formatted_output_length=` to configuration, allowing changing
243
276
  the length at which we truncate large output strings.
244
- (Sam Phippen #951, Benoit Tigeot #1056)
277
+ (Sam Phippen rspec/rspec-expectations#951, Benoit Tigeot rspec/rspec-expectations#1056)
245
278
  * Improve error message when passing a matcher that doesn't support block
246
- expectations to a block based `expect`. (@nicktime, #1066)
279
+ expectations to a block based `expect`. (@nicktime, rspec/rspec-expectations#1066)
247
280
 
248
281
  ### 3.7.0 / 2017-10-17
249
282
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0)
@@ -251,27 +284,27 @@ Enhancements:
251
284
  Enhancements:
252
285
 
253
286
  * Improve compatibility with `--enable-frozen-string-literal` option
254
- on Ruby 2.3+. (Pat Allan, #997)
287
+ on Ruby 2.3+. (Pat Allan, rspec/rspec-expectations#997)
255
288
 
256
289
  ### 3.6.0 / 2017-05-04
257
290
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0)
258
291
 
259
292
  Enhancements:
260
293
 
261
- * 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)
262
295
  * Allow for scoped aliased and negated matchers--just call
263
296
  `alias_matcher` or `define_negated_matcher` from within an example
264
- group. (Markus Reiter, #974)
297
+ group. (Markus Reiter, rspec/rspec-expectations#974)
265
298
  * Improve failure message of `change` matcher with block and `satisfy` matcher
266
299
  by including the block snippet instead of just describing it as `result` or
267
- `block` when Ripper is available. (Yuji Nakayama, #987)
300
+ `block` when Ripper is available. (Yuji Nakayama, rspec/rspec-expectations#987)
268
301
 
269
302
  Bug Fixes:
270
303
 
271
304
  * Fix `yield_with_args` and `yield_successive_args` matchers so that
272
305
  they compare expected to actual args at the time the args are yielded
273
306
  instead of at the end, in case the method that is yielding mutates the
274
- arguments after yielding. (Alyssa Ross, #965)
307
+ arguments after yielding. (Alyssa Ross, rspec/rspec-expectations#965)
275
308
 
276
309
  ### 3.6.0.beta2 / 2016-12-12
277
310
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2)
@@ -279,29 +312,29 @@ Bug Fixes:
279
312
  Bug Fixes:
280
313
 
281
314
  * Using the exist matcher on `File` no longer produces a deprecation warning.
282
- (Jon Rowe, #954)
315
+ (Jon Rowe, rspec/rspec-expectations#954)
283
316
 
284
317
  ### 3.6.0.beta1 / 2016-10-09
285
318
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1)
286
319
 
287
320
  Bug Fixes:
288
321
 
289
- * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940)
290
- * 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)
291
324
 
292
325
  ### 3.5.0 / 2016-07-01
293
326
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0)
294
327
 
295
328
  Enhancements:
296
329
 
297
- * 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).
298
331
 
299
332
  ### 3.5.0.beta4 / 2016-06-05
300
333
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4)
301
334
 
302
335
  Bug Fixes:
303
336
 
304
- * 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)
305
338
 
306
339
  ### 3.5.0.beta3 / 2016-04-02
307
340
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3)
@@ -309,11 +342,11 @@ Bug Fixes:
309
342
  Enhancements:
310
343
 
311
344
  * Make `rspec/expectations/minitest_integration` work on Minitest::Spec
312
- 5.6+. (Myron Marston, #904)
345
+ 5.6+. (Myron Marston, rspec/rspec-expectations#904)
313
346
  * Add an alias `having_attributes` for `have_attributes` matcher.
314
- (Yuji Nakayama, #905)
347
+ (Yuji Nakayama, rspec/rspec-expectations#905)
315
348
  * Improve `change` matcher error message when block is mis-used.
316
- (Alex Altair, #908)
349
+ (Alex Altair, rspec/rspec-expectations#908)
317
350
 
318
351
  ### 3.5.0.beta2 / 2016-03-10
319
352
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2)
@@ -321,15 +354,15 @@ Enhancements:
321
354
  Enhancements:
322
355
 
323
356
  * Add the ability to raise an error on encountering false positives via
324
- `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900)
357
+ `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, rspec/rspec-expectations#900)
325
358
  * When using the custom matcher DSL, support new
326
359
  `notify_expectation_failures: true` option for the `match` method to
327
360
  allow expectation failures to be raised as normal instead of being
328
- 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)
329
362
 
330
363
  Bug Fixes:
331
364
 
332
- * 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)
333
366
 
334
367
  ### 3.5.0.beta1 / 2016-02-06
335
368
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1)
@@ -337,14 +370,14 @@ Bug Fixes:
337
370
  Enhancements:
338
371
 
339
372
  * Make `match_when_negated` in custom matcher DSL support use of
340
- expectations within the match logic. (Chris Arcand, #789)
373
+ expectations within the match logic. (Chris Arcand, rspec/rspec-expectations#789)
341
374
 
342
375
  Bug Fixes:
343
376
 
344
377
  * Return `true` as expected from passing negated expectations
345
378
  (such as `expect("foo").not_to eq "bar"`), so they work
346
379
  properly when used within a `match` or `match_when_negated`
347
- block. (Chris Arcand, #789)
380
+ block. (Chris Arcand, rspec/rspec-expectations#789)
348
381
 
349
382
  ### 3.4.0 / 2015-11-11
350
383
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
@@ -353,22 +386,22 @@ Enhancements:
353
386
 
354
387
  * Warn when `RSpec::Matchers` is included in a superclass after it has
355
388
  already been included in a subclass on MRI 1.9, since that situation
356
- 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)
357
390
  * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
358
- `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)
359
392
  * Add `#with_captures` to the match matcher which allows a user to specify expected
360
- 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)
361
394
  * Always print compound failure messages in the multi-line form. Trying
362
- 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)
363
396
 
364
397
  Bug Fixes:
365
398
 
366
399
  * Fix failure message from dynamic predicate matchers when the object
367
400
  does not respond to the predicate so that it is inspected rather
368
401
  than relying upon its `to_s` -- that way for `nil`, `"nil"` is
369
- printed rather than an empty string. (Myron Marston, #841)
402
+ printed rather than an empty string. (Myron Marston, rspec/rspec-expectations#841)
370
403
  * Fix SystemStackError raised when diffing an Enumerable object
371
- whose `#each` includes the object itself. (Yuji Nakayama, #857)
404
+ whose `#each` includes the object itself. (Yuji Nakayama, rspec/rspec-expectations#857)
372
405
 
373
406
  ### 3.3.1 / 2015-07-15
374
407
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
@@ -378,9 +411,9 @@ Bug Fixes:
378
411
  * Fix `be >`, `be <`, etc so that it fails rather than allowing an
379
412
  argument error to be raised when compared against an object of the
380
413
  wrong type. This allows it to be used in composed matcher expressions
381
- against heterogeneous objects. (Dennis Günnewig, #809)
414
+ against heterogeneous objects. (Dennis Günnewig, rspec/rspec-expectations#809)
382
415
  * Fix `respond_to` to work properly on target objects
383
- that redefine the `method` method. (unmanbearpig, #821)
416
+ that redefine the `method` method. (unmanbearpig, rspec/rspec-expectations#821)
384
417
 
385
418
  ### 3.3.0 / 2015-06-12
386
419
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
@@ -388,50 +421,50 @@ Bug Fixes:
388
421
  Enhancements:
389
422
 
390
423
  * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
391
- nice failure messages in custom matchers. (Jared Beck, #736)
424
+ nice failure messages in custom matchers. (Jared Beck, rspec/rspec-expectations#736)
392
425
  * Add `RSpec::Matchers::FailMatchers`, a mixin which provides
393
426
  `fail`, `fail_with` and `fail_including` matchers for use in
394
427
  specifying that an expectation fails for use by
395
- extension/plugin authors. (Charlie Rudolph, #729)
428
+ extension/plugin authors. (Charlie Rudolph, rspec/rspec-expectations#729)
396
429
  * Avoid loading `tempfile` (and its dependencies) unless
397
- it is absolutely needed. (Myron Marston, #735)
430
+ it is absolutely needed. (Myron Marston, rspec/rspec-expectations#735)
398
431
  * Improve failure output when attempting to use `be_true` or `be_false`.
399
- (Tim Wade, #744)
432
+ (Tim Wade, rspec/rspec-expectations#744)
400
433
  * Define `RSpec::Matchers#respond_to_missing?` so that
401
434
  `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
402
- dynamic predicate matchers. (Andrei Botalov, #751)
435
+ dynamic predicate matchers. (Andrei Botalov, rspec/rspec-expectations#751)
403
436
  * Use custom Time/DateTime/BigDecimal formatting for all matchers
404
437
  so they are consistently represented in failure messages.
405
- (Gavin Miller, #740)
438
+ (Gavin Miller, rspec/rspec-expectations#740)
406
439
  * Add configuration to turn off warnings about matcher combinations that
407
- may cause false positives. (Jon Rowe, #768)
440
+ may cause false positives. (Jon Rowe, rspec/rspec-expectations#768)
408
441
  * Warn when using a bare `raise_error` matcher that you may be subject to
409
- false positives. (Jon Rowe, #768)
442
+ false positives. (Jon Rowe, rspec/rspec-expectations#768)
410
443
  * Warn rather than raise when using the`raise_error` matcher in negative
411
- 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)
412
445
  * Improve failure message for `include(a, b, c)` so that if `a` and `b`
413
- 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)
414
447
  * Allow `satisfy` matcher to take an optional description argument
415
448
  that will be used in the `description`, `failure_message` and
416
449
  `failure_message_when_negated` in place of the undescriptive
417
- "sastify block". (Chris Arcand, #783)
450
+ "sastify block". (Chris Arcand, rspec/rspec-expectations#783)
418
451
  * Add new `aggregate_failures` API that allows multiple independent
419
452
  expectations to all fail and be listed in the failure output, rather
420
- 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)
421
454
  * Improve `raise_error` matcher so that it can accept a matcher as a single argument
422
- that matches the message. (Time Wade, #782)
455
+ that matches the message. (Time Wade, rspec/rspec-expectations#782)
423
456
 
424
457
  Bug Fixes:
425
458
 
426
459
  * Make `contain_exactly` / `match_array` work with strict test doubles
427
- that have not defined `<=>`. (Myron Marston, #758)
460
+ that have not defined `<=>`. (Myron Marston, rspec/rspec-expectations#758)
428
461
  * Fix `include` matcher so that it omits the diff when it would
429
462
  confusingly highlight items that are actually included but are not
430
- 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)
431
464
  * Fix `match` matcher so that it does not blow up when matching a string
432
465
  or regex against another matcher (rather than a string or regex).
433
- (Myron Marston, #772)
434
- * 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)
435
468
 
436
469
  ### 3.2.1 / 2015-04-06
437
470
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
@@ -439,9 +472,9 @@ Bug Fixes:
439
472
  Bug Fixes:
440
473
 
441
474
  * Prevent `Range`s from being enumerated when generating matcher
442
- descriptions. (Jon Rowe, #755)
475
+ descriptions. (Jon Rowe, rspec/rspec-expectations#755)
443
476
  * Ensure exception messages are compared as strings in the `raise_error`
444
- matcher. (Jon Rowe, #755)
477
+ matcher. (Jon Rowe, rspec/rspec-expectations#755)
445
478
 
446
479
  ### 3.2.0 / 2015-02-03
447
480
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
@@ -450,25 +483,25 @@ Enhancements:
450
483
 
451
484
  * Add `block_arg` method to custom matcher API, which allows you to
452
485
  access the block passed to a custom matcher, if there is one.
453
- (Mike Dalton, #645)
486
+ (Mike Dalton, rspec/rspec-expectations#645)
454
487
  * Provide more detail in failure message of `yield_control` matcher.
455
- (Jon Rowe, #650)
488
+ (Jon Rowe, rspec/rspec-expectations#650)
456
489
  * Add a shorthand syntax for `chain` in the matcher DSL which assigns values
457
490
  for use elsewhere, for example `chain :and_smaller_than, :small_value`
458
- creates an `attr_reader` for `small_value` (Tom Stuart, #644)
491
+ creates an `attr_reader` for `small_value` (Tom Stuart, rspec/rspec-expectations#644)
459
492
  * Provide a more helpful deprecation message when using the `should` syntax.
460
- (Elia Schito, #663)
493
+ (Elia Schito, rspec/rspec-expectations#663)
461
494
  * Provide more detail in the `have_attributes` matcher failure message.
462
- (Jon Rowe, #668)
495
+ (Jon Rowe, rspec/rspec-expectations#668)
463
496
  * Make the `have_attributes` matcher diffable.
464
- (Jon Rowe, Alexey Fedorov, #668)
497
+ (Jon Rowe, Alexey Fedorov, rspec/rspec-expectations#668)
465
498
  * Add `output(...).to_std(out|err)_from_any_process` as alternatives
466
499
  to `output(...).to_std(out|err)`. The latter doesn't work when a sub
467
500
  process writes to the named stream but is much faster.
468
- (Alex Genco, #700)
501
+ (Alex Genco, rspec/rspec-expectations#700)
469
502
  * Improve compound matchers (created by `and` and `or`) so that diffs
470
503
  are included in failures when one or more of their matchers
471
- are diffable. (Alexey Fedorov, #713)
504
+ are diffable. (Alexey Fedorov, rspec/rspec-expectations#713)
472
505
 
473
506
  Bug Fixes:
474
507
 
@@ -476,17 +509,17 @@ Bug Fixes:
476
509
  the target object if the object publicly responds to the predicate
477
510
  method. This avoids a possible error that can occur if the object
478
511
  raises errors from `private_methods` (which can happen with celluloid
479
- objects). (@chapmajs, #670)
512
+ objects). (@chapmajs, rspec/rspec-expectations#670)
480
513
  * Make `yield_control` (with no modifier) default to
481
514
  `at_least(:once)` rather than raising a confusing error
482
515
  when multiple yields are encountered.
483
- (Myron Marston, #675)
516
+ (Myron Marston, rspec/rspec-expectations#675)
484
517
  * Fix "instance variable @color not initialized" warning when using
485
- 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)
486
519
  * Fix `start_with` and `end_with` to work properly when checking a
487
- string against an array of strings. (Myron Marston, #690)
520
+ string against an array of strings. (Myron Marston, rspec/rspec-expectations#690)
488
521
  * Don't use internally delegated matchers when generating descriptions
489
- for examples without doc strings. (Myron Marston, #692)
522
+ for examples without doc strings. (Myron Marston, rspec/rspec-expectations#692)
490
523
 
491
524
  ### 3.1.2 / 2014-09-26
492
525
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
@@ -495,9 +528,9 @@ Bug Fixes:
495
528
 
496
529
  * Fix `define_negated_matcher` so that matchers that support fluent
497
530
  interfaces continue to be negated after you use the chained method.
498
- (Myron Marston, #656)
531
+ (Myron Marston, rspec/rspec-expectations#656)
499
532
  * Fix `define_negated_matcher` so that the matchers fail with an
500
- appropriate failure message. (Myron Marston, #659)
533
+ appropriate failure message. (Myron Marston, rspec/rspec-expectations#659)
501
534
 
502
535
  ### 3.1.1 / 2014-09-15
503
536
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.0...v3.1.1)
@@ -506,7 +539,7 @@ Bug Fixes:
506
539
 
507
540
  * Fix regression in `all` matcher in 3.1.0 that prevented it from
508
541
  working on objects that are not `Enumerable` but do implement
509
- `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)
510
543
 
511
544
  ### 3.1.0 / 2014-09-04
512
545
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.4...v3.1.0)
@@ -518,26 +551,26 @@ Enhancements:
518
551
  `Person = Struct.new(:name, :age)`
519
552
  `person = Person.new("Bob", 32)`
520
553
  `expect(person).to have_attributes(:name => "Bob", :age => 32)`.
521
- (Adam Farhi, #571)
554
+ (Adam Farhi, rspec/rspec-expectations#571)
522
555
  * Extended compound matcher support to block matchers, for cases like:
523
556
  `expect { ... }.to change { x }.to(3).and change { y }.to(4)`. (Myron
524
- Marston, #567)
557
+ Marston, rspec/rspec-expectations#567)
525
558
  * Include chained methods in custom matcher description and failure message
526
559
  when new `include_chain_clauses_in_custom_matcher_descriptions` config
527
- option is enabled. (Dan Oved, #600)
560
+ option is enabled. (Dan Oved, rspec/rspec-expectations#600)
528
561
  * Add `thrice` modifier to `yield_control` matcher as a synonym for
529
- `exactly(3).times`. (Dennis Taylor, #615)
562
+ `exactly(3).times`. (Dennis Taylor, rspec/rspec-expectations#615)
530
563
  * Add `RSpec::Matchers.define_negated_matcher`, which defines a negated
531
- version of the named matcher. (Adam Farhi, Myron Marston, #618)
564
+ version of the named matcher. (Adam Farhi, Myron Marston, rspec/rspec-expectations#618)
532
565
  * Document and support negation of `contain_exactly`/`match_array`.
533
- (Jon Rowe, #626).
566
+ (Jon Rowe, rspec/rspec-expectations#626).
534
567
 
535
568
  Bug Fixes:
536
569
 
537
570
  * Rename private `LegacyMacherAdapter` constant to `LegacyMatcherAdapter`
538
- to fix typo. (Abdelkader Boudih, #563)
571
+ to fix typo. (Abdelkader Boudih, rspec/rspec-expectations#563)
539
572
  * Fix `all` matcher so that it fails properly (rather than raising a
540
- `NoMethodError`) when matched against a non-enumerable. (Hao Su, #622)
573
+ `NoMethodError`) when matched against a non-enumerable. (Hao Su, rspec/rspec-expectations#622)
541
574
 
542
575
  ### 3.0.4 / 2014-08-14
543
576
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.3...v3.0.4)
@@ -545,12 +578,12 @@ Bug Fixes:
545
578
  Bug Fixes:
546
579
 
547
580
  * Fix `start_with` and `end_with` so that they work properly with
548
- structs. (Myron Marston, #620)
581
+ structs. (Myron Marston, rspec/rspec-expectations#620)
549
582
  * Fix failure message generation so that structs are printed properly
550
583
  in failures. Previously failure messages would represent them as
551
- an array. (Myron Marston, #620)
584
+ an array. (Myron Marston, rspec/rspec-expectations#620)
552
585
  * Fix composable matcher support so that it does not wrongly treat
553
- structs as arrays. (Myron Marston, #620)
586
+ structs as arrays. (Myron Marston, rspec/rspec-expectations#620)
554
587
 
555
588
  ### 3.0.3 / 2014-07-21
556
589
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.2...v3.0.3)
@@ -558,10 +591,10 @@ Bug Fixes:
558
591
  Bug Fixes:
559
592
 
560
593
  * Fix issue with detection of generic operator matchers so they work
561
- correctly when undefined. (Myron Marston, #597)
562
- * 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)
563
596
  * Fix `include` matcher so that it fails gracefully when matched against
564
- 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)
565
598
 
566
599
  ### 3.0.2 / 2014-06-19
567
600
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.1...v3.0.2)
@@ -569,12 +602,12 @@ Bug Fixes:
569
602
  Bug Fixes:
570
603
 
571
604
  * Fix regression in `contain_exactly` (AKA `match_array`) that caused it
572
- 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)
573
606
  * Provide a better error message when you use the `change(obj, :msg)`
574
607
  form of the change matcher but forget the message argument. (Alex
575
- Sunderland, #585)
608
+ Sunderland, rspec/rspec-expectations#585)
576
609
  * Make the `contain_exactly` matcher work with arrays that contain hashes in
577
- arbitrary ordering. (Sam Phippen, #578)
610
+ arbitrary ordering. (Sam Phippen, rspec/rspec-expectations#578)
578
611
 
579
612
  ### 3.0.1 / 2014-06-12
580
613
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0...v3.0.1)
@@ -583,8 +616,8 @@ Bug Fixes:
583
616
 
584
617
  * Add a missing `require` that would cause the `respond_to` matcher to
585
618
  fail when used in a project where the rest of RSpec (e.g. core and
586
- expecatations) weren't being used. (Myron Marston, #566)
587
- * 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)
588
621
 
589
622
  ### 3.0.0 / 2014-06-01
590
623
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.rc1...v3.0.0)
@@ -802,9 +835,9 @@ Bug Fixes:
802
835
 
803
836
  * Fix regression in `Expectations#method_handle_for` where proxy objects
804
837
  with method delegated would wrongly not return a method handle.
805
- (Jon Rowe, #594)
838
+ (Jon Rowe, rspec/rspec-expectations#594)
806
839
  * Fix issue with detection of generic operator matchers so they work
807
- correctly when undefined. (Myron Marston, #597)
840
+ correctly when undefined. (Myron Marston, rspec/rspec-expectations#597)
808
841
 
809
842
  ### 2.99.1 / 2014-06-19
810
843
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0...v2.99.1)
@@ -812,7 +845,7 @@ Bug Fixes:
812
845
  Bug Fixes:
813
846
 
814
847
  * Fix typo in custom matcher `expected` deprecation warning -- it's
815
- `expected_as_array`, not `expected_array`. (Frederick Cheung, #562)
848
+ `expected_as_array`, not `expected_array`. (Frederick Cheung, rspec/rspec-expectations#562)
816
849
 
817
850
  ### 2.99.0 / 2014-06-01
818
851
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.rc1...v2.99.0)