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