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