rspec-expectations 3.0.1 → 3.0.2
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.tar.gz.sig +0 -0
- data/Changelog.md +22 -1
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers/built_in/change.rb +8 -0
- data/lib/rspec/matchers/built_in/contain_exactly.rb +3 -11
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ab0ab80e39aa5fde21f8720bbc62094627a8657f
|
|
4
|
+
data.tar.gz: 74ee61900c9df6b0f21746fe417b06067a65e6f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0869ab245a3b41c76cbdeaeb90dc480c29c0efeeb991a917b71d5a8773aec1e481098b308ea1f3eecd417b4ae799bc064e0e8a0d1346fa99b79f35ee46b118b9
|
|
7
|
+
data.tar.gz: b98ebf674da13b00db2cd615322dffc97454a720ce585b9cd2311c951e1931b9babfd8e48fa8126932507c94838634aa5eb88a9e07ce4219b9a0b76ffc9771e4
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
Binary file
|
data/Changelog.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
### 3.0.2 / 2014-06-19
|
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.1...v3.0.2)
|
|
3
|
+
|
|
4
|
+
Bug Fixes:
|
|
5
|
+
|
|
6
|
+
* Fix regression in `contain_exactly` (AKA `match_array`) that caused it
|
|
7
|
+
to wrongly pass when the expected array was empty. (Myron Marston, #581)
|
|
8
|
+
* Provide a better error message when you use the `change(obj, :msg)`
|
|
9
|
+
form of the change matcher but forget the message argument. (Alex
|
|
10
|
+
Sunderland, #585)
|
|
11
|
+
* Make the `contain_exactly` matcher work with arrays that contain hashes in
|
|
12
|
+
arbitrary ordering. (Sam Phippen, #578)
|
|
13
|
+
|
|
1
14
|
### 3.0.1 / 2014-06-12
|
|
2
15
|
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0...v3.0.1)
|
|
3
16
|
|
|
@@ -169,7 +182,7 @@ Deprecations:
|
|
|
169
182
|
a deprecation warning. (Myron Marston)
|
|
170
183
|
|
|
171
184
|
### 3.0.0.beta1 / 2013-11-07
|
|
172
|
-
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.
|
|
185
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.1...v3.0.0.beta1)
|
|
173
186
|
|
|
174
187
|
Breaking Changes for 3.0.0:
|
|
175
188
|
|
|
@@ -217,6 +230,14 @@ Deprecations:
|
|
|
217
230
|
It will continue to work but will emit a deprecation warning in RSpec 3 if
|
|
218
231
|
you do not explicitly enable it. (Sam Phippen)
|
|
219
232
|
|
|
233
|
+
### 2.99.1 / 2014-06-19
|
|
234
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0...v2.99.1)
|
|
235
|
+
|
|
236
|
+
Bug Fixes:
|
|
237
|
+
|
|
238
|
+
* Fix typo in custom matcher `expected` deprecation warning -- it's
|
|
239
|
+
`expected_as_array`, not `expected_array`. (Frederick Cheung, #562)
|
|
240
|
+
|
|
220
241
|
### 2.99.0 / 2014-06-01
|
|
221
242
|
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.rc1...v2.99.0)
|
|
222
243
|
|
|
@@ -298,6 +298,14 @@ module RSpec
|
|
|
298
298
|
attr_reader :message, :actual_before, :actual_after
|
|
299
299
|
|
|
300
300
|
def initialize(receiver=nil, message=nil, &block)
|
|
301
|
+
if receiver && !message
|
|
302
|
+
raise(
|
|
303
|
+
ArgumentError,
|
|
304
|
+
"`change` requires either an object and message " \
|
|
305
|
+
"(`change(obj, :msg)`) or a block (`change { }`). " \
|
|
306
|
+
"You passed an object but no message."
|
|
307
|
+
)
|
|
308
|
+
end
|
|
301
309
|
@message = message ? "##{message}" : "result"
|
|
302
310
|
@value_proc = block || lambda { receiver.__send__(message) }
|
|
303
311
|
end
|
|
@@ -79,20 +79,12 @@ module RSpec
|
|
|
79
79
|
|
|
80
80
|
def pairings_maximizer
|
|
81
81
|
@pairings_maximizer ||= begin
|
|
82
|
-
expected_matches = {}
|
|
83
|
-
actual_matches = {}
|
|
82
|
+
expected_matches = Hash[Array.new(expected.size) { |i| [i, []] }]
|
|
83
|
+
actual_matches = Hash[Array.new(actual.size) { |i| [i, []] }]
|
|
84
84
|
|
|
85
85
|
expected.each_with_index do |e, ei|
|
|
86
|
-
expected_matches[ei] ||= []
|
|
87
|
-
|
|
88
86
|
actual.each_with_index do |a, ai|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
# Normally we'd call `values_match?(e, a)` here but that contains
|
|
92
|
-
# some extra checks we don't need (e.g. to support nested data
|
|
93
|
-
# structures), and given that it's called N*M times here, it helps
|
|
94
|
-
# perf significantly to implement the matching bit ourselves.
|
|
95
|
-
next unless e === a || a == e
|
|
87
|
+
next unless values_match?(e, a)
|
|
96
88
|
|
|
97
89
|
expected_matches[ei] << ai
|
|
98
90
|
actual_matches[ai] << ei
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rspec-expectations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Steven Baker
|
|
@@ -33,7 +33,7 @@ cert_chain:
|
|
|
33
33
|
1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
|
|
34
34
|
muA=
|
|
35
35
|
-----END CERTIFICATE-----
|
|
36
|
-
date: 2014-06-
|
|
36
|
+
date: 2014-06-20 00:00:00.000000000 Z
|
|
37
37
|
dependencies:
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: rspec-support
|
|
@@ -203,6 +203,6 @@ rubyforge_project: rspec
|
|
|
203
203
|
rubygems_version: 2.2.2
|
|
204
204
|
signing_key:
|
|
205
205
|
specification_version: 4
|
|
206
|
-
summary: rspec-expectations-3.0.
|
|
206
|
+
summary: rspec-expectations-3.0.2
|
|
207
207
|
test_files: []
|
|
208
208
|
has_rdoc:
|
metadata.gz.sig
CHANGED
|
Binary file
|