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