rspec-expectations 3.12.3 → 3.13.5

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