rspec-expectations 2.13.0 → 2.14.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.md +34 -0
- data/README.md +43 -87
- data/features/README.md +8 -9
- data/features/built_in_matchers/README.md +41 -41
- data/features/built_in_matchers/be_within.feature +3 -3
- data/features/built_in_matchers/expect_change.feature +6 -6
- data/features/built_in_matchers/expect_error.feature +2 -2
- data/features/built_in_matchers/start_with.feature +1 -1
- data/features/built_in_matchers/throw_symbol.feature +11 -11
- data/features/built_in_matchers/yield.feature +18 -3
- data/features/custom_matchers/define_diffable_matcher.feature +1 -1
- data/features/custom_matchers/define_matcher_outside_rspec.feature +6 -6
- data/features/custom_matchers/define_matcher_with_fluent_interface.feature +1 -1
- data/features/customized_message.feature +1 -1
- data/features/support/env.rb +10 -1
- data/features/syntax_configuration.feature +3 -0
- data/features/test_frameworks/test_unit.feature +15 -17
- data/lib/rspec/expectations.rb +1 -1
- data/lib/rspec/expectations/deprecation.rb +12 -33
- data/lib/rspec/expectations/differ.rb +25 -7
- data/lib/rspec/expectations/expectation_target.rb +7 -8
- data/lib/rspec/expectations/extensions/object.rb +2 -12
- data/lib/rspec/expectations/fail_with.rb +11 -1
- data/lib/rspec/expectations/handler.rb +11 -6
- data/lib/rspec/expectations/syntax.rb +2 -2
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers.rb +134 -144
- data/lib/rspec/matchers/be_close.rb +1 -1
- data/lib/rspec/matchers/built_in/be_within.rb +1 -1
- data/lib/rspec/matchers/built_in/have.rb +20 -4
- data/lib/rspec/matchers/built_in/raise_error.rb +23 -7
- data/lib/rspec/matchers/built_in/yield.rb +78 -3
- data/lib/rspec/matchers/operator_matcher.rb +1 -1
- data/lib/rspec/matchers/test_unit_integration.rb +11 -0
- data/spec/rspec/expectations/differ_spec.rb +27 -5
- data/spec/rspec/expectations/expectation_target_spec.rb +10 -3
- data/spec/rspec/expectations/extensions/kernel_spec.rb +5 -5
- data/spec/rspec/expectations/fail_with_spec.rb +19 -0
- data/spec/rspec/expectations/handler_spec.rb +42 -21
- data/spec/rspec/expectations/syntax_spec.rb +45 -3
- data/spec/rspec/matchers/be_close_spec.rb +6 -6
- data/spec/rspec/matchers/be_spec.rb +36 -36
- data/spec/rspec/matchers/be_within_spec.rb +4 -0
- data/spec/rspec/matchers/change_spec.rb +6 -6
- data/spec/rspec/matchers/configuration_spec.rb +57 -89
- data/spec/rspec/matchers/description_generation_spec.rb +1 -1
- data/spec/rspec/matchers/exist_spec.rb +9 -9
- data/spec/rspec/matchers/has_spec.rb +1 -1
- data/spec/rspec/matchers/have_spec.rb +12 -2
- data/spec/rspec/matchers/include_matcher_integration_spec.rb +2 -2
- data/spec/rspec/matchers/include_spec.rb +4 -4
- data/spec/rspec/matchers/match_array_spec.rb +1 -1
- data/spec/rspec/matchers/match_spec.rb +1 -1
- data/spec/rspec/matchers/raise_error_spec.rb +189 -99
- data/spec/rspec/matchers/respond_to_spec.rb +4 -4
- data/spec/rspec/matchers/satisfy_spec.rb +1 -1
- data/spec/rspec/matchers/start_with_end_with_spec.rb +2 -2
- data/spec/rspec/matchers/yield_spec.rb +81 -4
- data/spec/spec_helper.rb +1 -1
- metadata +10 -12
@@ -148,7 +148,7 @@ describe "expect(...).to respond_to(:sym).with(2).arguments" do
|
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
151
|
-
describe "expect(...).
|
151
|
+
describe "expect(...).not_to respond_to(:sym)" do
|
152
152
|
it "passes if target does not respond to :sym" do
|
153
153
|
expect(Object.new).not_to respond_to(:some_method)
|
154
154
|
end
|
@@ -160,7 +160,7 @@ describe "expect(...).to_not respond_to(:sym)" do
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
-
describe "expect(...).
|
163
|
+
describe "expect(...).not_to respond_to(:sym).with(1).argument" do
|
164
164
|
it "fails if target responds to :sym with 1 arg" do
|
165
165
|
obj = Object.new
|
166
166
|
def obj.foo(arg); end
|
@@ -209,7 +209,7 @@ describe "expect(...).to_not respond_to(:sym).with(1).argument" do
|
|
209
209
|
end
|
210
210
|
end
|
211
211
|
|
212
|
-
describe "expect(...).
|
212
|
+
describe "expect(...).not_to respond_to(message1, message2)" do
|
213
213
|
it "passes if target does not respond to either message1 or message2" do
|
214
214
|
expect(Object.new).not_to respond_to(:some_method, :some_other_method)
|
215
215
|
end
|
@@ -233,7 +233,7 @@ describe "expect(...).to_not respond_to(message1, message2)" do
|
|
233
233
|
end
|
234
234
|
end
|
235
235
|
|
236
|
-
describe "expect(...).
|
236
|
+
describe "expect(...).not_to respond_to(:sym).with(2).arguments" do
|
237
237
|
it "fails if target responds to :sym with 2 args" do
|
238
238
|
obj = Object.new
|
239
239
|
def obj.foo(a1, a2); end
|
@@ -28,7 +28,7 @@ describe "expect(...).to satisfy { block }" do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
describe "expect(...).
|
31
|
+
describe "expect(...).not_to satisfy { block }" do
|
32
32
|
it "passes if block returns false" do
|
33
33
|
expect(false).not_to satisfy { |val| val }
|
34
34
|
expect(false).not_to satisfy do |val|
|
@@ -56,7 +56,7 @@ describe "expect(...).to start_with" do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
describe "expect(...).
|
59
|
+
describe "expect(...).not_to start_with" do
|
60
60
|
context "with a string" do
|
61
61
|
it "passes if it does not match the start of the actual string" do
|
62
62
|
expect("this string").not_to start_with "that str"
|
@@ -149,7 +149,7 @@ describe "expect(...).to end_with" do
|
|
149
149
|
|
150
150
|
end
|
151
151
|
|
152
|
-
describe "expect(...).
|
152
|
+
describe "expect(...).not_to end_with" do
|
153
153
|
context "with a sting" do
|
154
154
|
it "passes if it does not match the end of the actual string" do
|
155
155
|
expect("this string").not_to end_with "stringy"
|
@@ -63,10 +63,87 @@ describe "yield_control matcher" do
|
|
63
63
|
}.to fail_with(/expected given block to yield control/)
|
64
64
|
end
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
expect {
|
69
|
-
|
66
|
+
context "with exact count" do
|
67
|
+
it 'fails if the block yields wrong number of times' do
|
68
|
+
expect {
|
69
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.twice
|
70
|
+
}.to fail_with(/expected given block to yield control twice/)
|
71
|
+
|
72
|
+
expect {
|
73
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.exactly(3).times
|
74
|
+
}.to fail_with(/expected given block to yield control 3 times/)
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'passes if the block yields the specified number of times' do
|
78
|
+
expect { |b| [1].each(&b) }.to yield_control.once
|
79
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.twice
|
80
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.exactly(3).times
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context "with at_least count" do
|
85
|
+
it 'passes if the block yields the given number of times' do
|
86
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_least(2).times
|
87
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_least(3).times
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'passes if the block yields more times' do
|
91
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_least(2).times
|
92
|
+
expect { |b| [1, 2, 3, 4].each(&b) }.to yield_control.at_least(3).times
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'allows :once and :twice to be passed as counts' do
|
96
|
+
expect { |b| [1].each(&b) }.to yield_control.at_least(:once)
|
97
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_least(:once)
|
98
|
+
|
99
|
+
expect {
|
100
|
+
expect { |b| [].each(&b) }.to yield_control.at_least(:once)
|
101
|
+
}.to fail_with(/at least once/)
|
102
|
+
|
103
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_least(:twice)
|
104
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_least(:twice)
|
105
|
+
|
106
|
+
expect {
|
107
|
+
expect { |b| [1].each(&b) }.to yield_control.at_least(:twice)
|
108
|
+
}.to fail_with(/at least twice/)
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'fails if the block yields too few times' do
|
112
|
+
expect {
|
113
|
+
expect { |b| _yield_with_no_args(&b) }.to yield_control.at_least(2).times
|
114
|
+
}.to fail_with(/expected given block to yield control at least twice/)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
context "with at_most count" do
|
119
|
+
it 'passes if the block yields the given number of times' do
|
120
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_most(2).times
|
121
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_most(3).times
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'passes if the block yields fewer times' do
|
125
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_most(3).times
|
126
|
+
end
|
127
|
+
|
128
|
+
it 'allows :once and :twice to be passed as counts' do
|
129
|
+
expect { |b| [1].each(&b) }.to yield_control.at_most(:once)
|
130
|
+
|
131
|
+
expect {
|
132
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_most(:once)
|
133
|
+
}.to fail_with(/expected given block to yield control at most once/)
|
134
|
+
|
135
|
+
expect { |b| [1, 2].each(&b) }.to yield_control.at_most(:twice)
|
136
|
+
|
137
|
+
expect {
|
138
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_most(:twice)
|
139
|
+
}.to fail_with(/expected given block to yield control at most twice/)
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'fails if the block yields too many times' do
|
143
|
+
expect {
|
144
|
+
expect { |b| [1, 2, 3].each(&b) }.to yield_control.at_most(2).times
|
145
|
+
}.to fail_with(/expected given block to yield control at most twice/)
|
146
|
+
end
|
70
147
|
end
|
71
148
|
end
|
72
149
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-expectations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 2.
|
4
|
+
prerelease: 7
|
5
|
+
version: 2.14.0.rc1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Steven Baker
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-05-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -71,7 +71,7 @@ dependencies:
|
|
71
71
|
requirements:
|
72
72
|
- - ~>
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
74
|
+
version: '0.5'
|
75
75
|
none: false
|
76
76
|
prerelease: false
|
77
77
|
name: aruba
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
requirements:
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: '0.5'
|
83
83
|
none: false
|
84
84
|
type: :development
|
85
85
|
description: rspec expectations (should[_not] and matchers)
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- lib/rspec/matchers/method_missing.rb
|
136
136
|
- lib/rspec/matchers/operator_matcher.rb
|
137
137
|
- lib/rspec/matchers/pretty.rb
|
138
|
+
- lib/rspec/matchers/test_unit_integration.rb
|
138
139
|
- README.md
|
139
140
|
- License.txt
|
140
141
|
- Changelog.md
|
@@ -232,23 +233,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
232
233
|
version: '0'
|
233
234
|
segments:
|
234
235
|
- 0
|
235
|
-
hash:
|
236
|
+
hash: -3852254251876092451
|
236
237
|
none: false
|
237
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
239
|
requirements:
|
239
|
-
- - ! '
|
240
|
+
- - ! '>'
|
240
241
|
- !ruby/object:Gem::Version
|
241
|
-
version:
|
242
|
-
segments:
|
243
|
-
- 0
|
244
|
-
hash: 3249637945894736858
|
242
|
+
version: 1.3.1
|
245
243
|
none: false
|
246
244
|
requirements: []
|
247
245
|
rubyforge_project: rspec
|
248
246
|
rubygems_version: 1.8.24
|
249
247
|
signing_key:
|
250
248
|
specification_version: 3
|
251
|
-
summary: rspec-expectations-2.
|
249
|
+
summary: rspec-expectations-2.14.0.rc1
|
252
250
|
test_files:
|
253
251
|
- features/README.md
|
254
252
|
- features/Upgrade.md
|