rspec-expectations 3.5.0.beta2 → 3.5.0.beta3
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 +6 -0
- data/lib/rspec/expectations/expectation_target.rb +44 -30
- data/lib/rspec/expectations/minitest_integration.rb +28 -1
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers.rb +1 -0
- data/lib/rspec/matchers/built_in/change.rb +2 -2
- metadata +7 -7
- 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: 0a6496869e9518ad7b96e0618ee997db0f593545
|
4
|
+
data.tar.gz: b975ea80a7855d3b8e596e94fb5e474efff707aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9142626323678bbaba0597848663d5c1fdf85f29920507246ce4d376a93f44adc1511f877c43ce7251270e9573c1d8d0b6324898a155d9e25912fe6b71ad0d90
|
7
|
+
data.tar.gz: 610ed1c18c06411a1506884a13b73d6951d39c7d0035d9360d45d915df721c04676db5ad1257c28d4f2a111aa2629062934f83f3867bc3359dc86e76cfff8813
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -9,6 +9,12 @@ Enhancements:
|
|
9
9
|
`notify_expectation_failures: true` option for the `match` method to
|
10
10
|
allow expectation failures to be raised as normal instead of being
|
11
11
|
converted into a `false` return value for `matches?`. (Jon Rowe, #892)
|
12
|
+
* Make `rspec/expectations/minitest_integration` work on Minitest::Spec
|
13
|
+
5.6+. (Myron Marston, #904)
|
14
|
+
* Add an alias `having_attributes` for `have_attributes` matcher.
|
15
|
+
(Yuji Nakayama, #905)
|
16
|
+
* Improve `change` matcher error message when block is mis-used.
|
17
|
+
(Alex Altair, #908)
|
12
18
|
|
13
19
|
Bug Fixes:
|
14
20
|
|
@@ -21,6 +21,12 @@ module RSpec
|
|
21
21
|
# `nil` is a valid value to pass.
|
22
22
|
UndefinedValue = Module.new
|
23
23
|
|
24
|
+
# @note this name aligns with `Minitest::Expectation` so that our
|
25
|
+
# {InstanceMethods} module can be included in that class when
|
26
|
+
# used in a Minitest context.
|
27
|
+
# @return [Object] the target of the expectation
|
28
|
+
attr_reader :target
|
29
|
+
|
24
30
|
# @api private
|
25
31
|
def initialize(value)
|
26
32
|
@target = value
|
@@ -40,40 +46,48 @@ module RSpec
|
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
49
|
+
# Defines instance {ExpectationTarget} instance methods. These are defined
|
50
|
+
# in a module so we can include it in `Minitest::Expectation` when
|
51
|
+
# `rspec/expectations/minitest_integration` is laoded in order to
|
52
|
+
# support usage with Minitest.
|
53
|
+
module InstanceMethods
|
54
|
+
# Runs the given expectation, passing if `matcher` returns true.
|
55
|
+
# @example
|
56
|
+
# expect(value).to eq(5)
|
57
|
+
# expect { perform }.to raise_error
|
58
|
+
# @param [Matcher]
|
59
|
+
# matcher
|
60
|
+
# @param [String or Proc] message optional message to display when the expectation fails
|
61
|
+
# @return [Boolean] true if the expectation succeeds (else raises)
|
62
|
+
# @see RSpec::Matchers
|
63
|
+
def to(matcher=nil, message=nil, &block)
|
64
|
+
prevent_operator_matchers(:to) unless matcher
|
65
|
+
RSpec::Expectations::PositiveExpectationHandler.handle_matcher(target, matcher, message, &block)
|
66
|
+
end
|
56
67
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
68
|
+
# Runs the given expectation, passing if `matcher` returns false.
|
69
|
+
# @example
|
70
|
+
# expect(value).not_to eq(5)
|
71
|
+
# @param [Matcher]
|
72
|
+
# matcher
|
73
|
+
# @param [String or Proc] message optional message to display when the expectation fails
|
74
|
+
# @return [Boolean] false if the negative expectation succeeds (else raises)
|
75
|
+
# @see RSpec::Matchers
|
76
|
+
def not_to(matcher=nil, message=nil, &block)
|
77
|
+
prevent_operator_matchers(:not_to) unless matcher
|
78
|
+
RSpec::Expectations::NegativeExpectationHandler.handle_matcher(target, matcher, message, &block)
|
79
|
+
end
|
80
|
+
alias to_not not_to
|
70
81
|
|
71
|
-
|
82
|
+
private
|
72
83
|
|
73
|
-
|
74
|
-
|
75
|
-
|
84
|
+
def prevent_operator_matchers(verb)
|
85
|
+
raise ArgumentError, "The expect syntax does not support operator matchers, " \
|
86
|
+
"so you must pass a matcher to `##{verb}`."
|
87
|
+
end
|
76
88
|
end
|
89
|
+
|
90
|
+
include InstanceMethods
|
77
91
|
end
|
78
92
|
|
79
93
|
# @private
|
@@ -3,8 +3,12 @@ require 'rspec/expectations'
|
|
3
3
|
Minitest::Test.class_eval do
|
4
4
|
include ::RSpec::Matchers
|
5
5
|
|
6
|
+
# This `expect` will only be called if the user is using Minitest < 5.6
|
7
|
+
# or if they are _not_ using Minitest::Spec on 5.6+. Minitest::Spec on 5.6+
|
8
|
+
# defines its own `expect` and will have the assertions incremented via our
|
9
|
+
# definitions of `to`/`not_to`/`to_not` below.
|
6
10
|
def expect(*a, &b)
|
7
|
-
|
11
|
+
self.assertions += 1
|
8
12
|
super
|
9
13
|
end
|
10
14
|
|
@@ -22,6 +26,29 @@ Minitest::Test.class_eval do
|
|
22
26
|
end
|
23
27
|
end
|
24
28
|
|
29
|
+
# Older versions of Minitest (e.g. before 5.6) do not define
|
30
|
+
# `Minitest::Expectation`.
|
31
|
+
if defined?(::Minitest::Expectation)
|
32
|
+
Minitest::Expectation.class_eval do
|
33
|
+
include RSpec::Expectations::ExpectationTarget::InstanceMethods
|
34
|
+
|
35
|
+
def to(*args)
|
36
|
+
ctx.assertions += 1
|
37
|
+
super
|
38
|
+
end
|
39
|
+
|
40
|
+
def not_to(*args)
|
41
|
+
ctx.assertions += 1
|
42
|
+
super
|
43
|
+
end
|
44
|
+
|
45
|
+
def to_not(*args)
|
46
|
+
ctx.assertions += 1
|
47
|
+
super
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
25
52
|
module RSpec
|
26
53
|
module Expectations
|
27
54
|
remove_const :ExpectationNotMetError
|
data/lib/rspec/matchers.rb
CHANGED
@@ -621,6 +621,7 @@ module RSpec
|
|
621
621
|
BuiltIn::HaveAttributes.new(expected)
|
622
622
|
end
|
623
623
|
alias_matcher :an_object_having_attributes, :have_attributes
|
624
|
+
alias_matcher :having_attributes, :have_attributes
|
624
625
|
|
625
626
|
# Passes if actual includes expected. This works for
|
626
627
|
# collections and Strings. You can also pass in multiple args
|
@@ -87,8 +87,8 @@ module RSpec
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def raise_block_syntax_error
|
90
|
-
raise SyntaxError, "
|
91
|
-
|
90
|
+
raise SyntaxError, "Block not received by the `change` matcher. " \
|
91
|
+
"Perhaps you want to use `{ ... }` instead of do/end?"
|
92
92
|
end
|
93
93
|
|
94
94
|
def positive_failure_reason
|
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.5.0.
|
4
|
+
version: 3.5.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Baker
|
@@ -45,7 +45,7 @@ cert_chain:
|
|
45
45
|
ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
|
46
46
|
F3MdtaDehhjC
|
47
47
|
-----END CERTIFICATE-----
|
48
|
-
date: 2016-
|
48
|
+
date: 2016-04-02 00:00:00.000000000 Z
|
49
49
|
dependencies:
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: rspec-support
|
@@ -53,14 +53,14 @@ dependencies:
|
|
53
53
|
requirements:
|
54
54
|
- - '='
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 3.5.0.
|
56
|
+
version: 3.5.0.beta3
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - '='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 3.5.0.
|
63
|
+
version: 3.5.0.beta3
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: diff-lcs
|
66
66
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,7 +196,7 @@ files:
|
|
196
196
|
- lib/rspec/matchers/generated_descriptions.rb
|
197
197
|
- lib/rspec/matchers/matcher_delegator.rb
|
198
198
|
- lib/rspec/matchers/matcher_protocol.rb
|
199
|
-
homepage:
|
199
|
+
homepage: https://github.com/rspec/rspec-expectations
|
200
200
|
licenses:
|
201
201
|
- MIT
|
202
202
|
metadata: {}
|
@@ -217,9 +217,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
217
|
version: 1.3.1
|
218
218
|
requirements: []
|
219
219
|
rubyforge_project:
|
220
|
-
rubygems_version: 2.5.1
|
220
|
+
rubygems_version: 2.4.5.1
|
221
221
|
signing_key:
|
222
222
|
specification_version: 4
|
223
|
-
summary: rspec-expectations-3.5.0.
|
223
|
+
summary: rspec-expectations-3.5.0.beta3
|
224
224
|
test_files: []
|
225
225
|
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|