rspec-expectations 3.8.4 → 3.8.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.tar.gz.sig +0 -0
- data/Changelog.md +9 -1
- data/lib/rspec/expectations/expectation_target.rb +43 -7
- data/lib/rspec/expectations/syntax.rb +1 -1
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers.rb +3 -3
- data/lib/rspec/matchers/built_in/base_matcher.rb +5 -0
- data/lib/rspec/matchers/built_in/change.rb +15 -10
- data/lib/rspec/matchers/built_in/compound.rb +14 -0
- data/lib/rspec/matchers/built_in/output.rb +7 -2
- data/lib/rspec/matchers/built_in/raise_error.rb +6 -1
- data/lib/rspec/matchers/built_in/throw_symbol.rb +6 -3
- data/lib/rspec/matchers/built_in/yield.rb +25 -25
- data/lib/rspec/matchers/dsl.rb +4 -0
- data/lib/rspec/matchers/matcher_protocol.rb +6 -0
- metadata +8 -22
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58597a62f47f10ecd74eda0086bcee4ca68878120d63cc670ebae37f9db1d252
|
4
|
+
data.tar.gz: 7443ec753991ae3c88ac9be2e8a22aab784b7e10bd2be481bf8a83daf3b85778
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36dab83e0399bbf5c58f17f3302c865ca4ec92123c97cc6eea1f9bf80a5466e643adfbd3056e46a653c5bbc08fc93f5d804bc9ca4a2e841468b22f09e2a140ec
|
7
|
+
data.tar.gz: f4b9263c27571536fa276eefee5a2c115a9f1f3d070f1abcaf4fba9e5e2cd2f11e04f48d146c870b26d019f6fb8533b3e2b605ff422ab32832f51d1531743515
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 3.8.5 / 2019-10-02
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.4...v3.8.5)
|
3
|
+
|
4
|
+
Bug Fixes:
|
5
|
+
|
6
|
+
* Prevent unsupported implicit block expectation syntax from being used.
|
7
|
+
(Phil Pirozhkov, #1125)
|
8
|
+
|
1
9
|
### 3.8.4 / 2019-06-10
|
2
10
|
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
|
3
11
|
|
@@ -14,7 +22,7 @@ Bug Fixes:
|
|
14
22
|
* Prevent composed `all` matchers from leaking into their siblings leading to duplicate
|
15
23
|
failures. (Jamie English, #1086)
|
16
24
|
* Prevent objects which change their hash on comparison from failing change checks.
|
17
|
-
(Phil Pirozhkov, #
|
25
|
+
(Phil Pirozhkov, #1100)
|
18
26
|
* Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
|
19
27
|
`be_kind_of` matchers encounter objects not supporting those methods.
|
20
28
|
(Taichi Ishitani, #1107)
|
@@ -33,16 +33,16 @@ module RSpec
|
|
33
33
|
end
|
34
34
|
|
35
35
|
# @private
|
36
|
-
def self.for(value, block)
|
36
|
+
def self.for(value, &block)
|
37
37
|
if UndefinedValue.equal?(value)
|
38
|
-
unless
|
38
|
+
unless block_given?
|
39
39
|
raise ArgumentError, "You must pass either an argument or a block to `expect`."
|
40
40
|
end
|
41
41
|
BlockExpectationTarget.new(block)
|
42
|
-
elsif
|
42
|
+
elsif block_given?
|
43
43
|
raise ArgumentError, "You cannot pass both an argument and a block to `expect`."
|
44
44
|
else
|
45
|
-
new(value)
|
45
|
+
ValueExpectationTarget.new(value)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -90,6 +90,40 @@ module RSpec
|
|
90
90
|
include InstanceMethods
|
91
91
|
end
|
92
92
|
|
93
|
+
# @private
|
94
|
+
# Validates the provided matcher to ensure it supports block
|
95
|
+
# expectations, in order to avoid user confusion when they
|
96
|
+
# use a block thinking the expectation will be on the return
|
97
|
+
# value of the block rather than the block itself.
|
98
|
+
class ValueExpectationTarget < ExpectationTarget
|
99
|
+
def to(matcher=nil, message=nil, &block)
|
100
|
+
enforce_value_expectation(matcher)
|
101
|
+
super
|
102
|
+
end
|
103
|
+
|
104
|
+
def not_to(matcher=nil, message=nil, &block)
|
105
|
+
enforce_value_expectation(matcher)
|
106
|
+
super
|
107
|
+
end
|
108
|
+
|
109
|
+
private
|
110
|
+
|
111
|
+
def enforce_value_expectation(matcher)
|
112
|
+
return if supports_value_expectations?(matcher)
|
113
|
+
|
114
|
+
raise ExpectationNotMetError, "You must pass a block rather than an argument to `expect` to use the provided " \
|
115
|
+
"block expectation matcher (#{RSpec::Support::ObjectFormatter.format(matcher)})."
|
116
|
+
end
|
117
|
+
|
118
|
+
def supports_value_expectations?(matcher)
|
119
|
+
if matcher.respond_to?(:supports_value_expectations?)
|
120
|
+
matcher.supports_value_expectations?
|
121
|
+
else
|
122
|
+
true
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
93
127
|
# @private
|
94
128
|
# Validates the provided matcher to ensure it supports block
|
95
129
|
# expectations, in order to avoid user confusion when they
|
@@ -118,9 +152,11 @@ module RSpec
|
|
118
152
|
end
|
119
153
|
|
120
154
|
def supports_block_expectations?(matcher)
|
121
|
-
matcher.supports_block_expectations?
|
122
|
-
|
123
|
-
|
155
|
+
if matcher.respond_to?(:supports_block_expectations?)
|
156
|
+
matcher.supports_block_expectations?
|
157
|
+
else
|
158
|
+
false
|
159
|
+
end
|
124
160
|
end
|
125
161
|
end
|
126
162
|
end
|
@@ -70,7 +70,7 @@ module RSpec
|
|
70
70
|
|
71
71
|
syntax_host.module_exec do
|
72
72
|
def expect(value=::RSpec::Expectations::ExpectationTarget::UndefinedValue, &block)
|
73
|
-
::RSpec::Expectations::ExpectationTarget.for(value, block)
|
73
|
+
::RSpec::Expectations::ExpectationTarget.for(value, &block)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
data/lib/rspec/matchers.rb
CHANGED
@@ -266,9 +266,9 @@ module RSpec
|
|
266
266
|
# @example
|
267
267
|
# expect(actual).to eq(expected)
|
268
268
|
# expect(actual).not_to eq(expected)
|
269
|
-
# @return [ExpectationTarget]
|
270
|
-
# @see ExpectationTarget#to
|
271
|
-
# @see ExpectationTarget#not_to
|
269
|
+
# @return [Expectations::ExpectationTarget]
|
270
|
+
# @see Expectations::ExpectationTarget#to
|
271
|
+
# @see Expectations::ExpectationTarget#not_to
|
272
272
|
|
273
273
|
# Allows multiple expectations in the provided block to fail, and then
|
274
274
|
# aggregates them into a single exception, rather than aborting on the
|
@@ -77,6 +77,11 @@ module RSpec
|
|
77
77
|
true
|
78
78
|
end
|
79
79
|
|
80
|
+
# @private
|
81
|
+
def supports_value_expectations?
|
82
|
+
false
|
83
|
+
end
|
84
|
+
|
80
85
|
private
|
81
86
|
|
82
87
|
def initialize(receiver=nil, message=nil, &block)
|
@@ -107,12 +112,10 @@ module RSpec
|
|
107
112
|
end
|
108
113
|
|
109
114
|
def positive_failure_reason
|
110
|
-
return "was not given a block" unless Proc === @event_proc
|
111
115
|
"is still #{@actual_before_description}"
|
112
116
|
end
|
113
117
|
|
114
118
|
def negative_failure_reason
|
115
|
-
return "was not given a block" unless Proc === @event_proc
|
116
119
|
"did change from #{@actual_before_description} " \
|
117
120
|
"to #{description_of change_details.actual_after}"
|
118
121
|
end
|
@@ -158,10 +161,14 @@ module RSpec
|
|
158
161
|
true
|
159
162
|
end
|
160
163
|
|
164
|
+
# @private
|
165
|
+
def supports_value_expectations?
|
166
|
+
false
|
167
|
+
end
|
168
|
+
|
161
169
|
private
|
162
170
|
|
163
171
|
def failure_reason
|
164
|
-
return "was not given a block" unless Proc === @event_proc
|
165
172
|
"was changed by #{description_of @change_details.actual_delta}"
|
166
173
|
end
|
167
174
|
end
|
@@ -190,7 +197,6 @@ module RSpec
|
|
190
197
|
|
191
198
|
# @private
|
192
199
|
def failure_message
|
193
|
-
return not_given_a_block_failure unless Proc === @event_proc
|
194
200
|
return before_value_failure unless @matches_before
|
195
201
|
return did_not_change_failure unless @change_details.changed?
|
196
202
|
after_value_failure
|
@@ -201,6 +207,11 @@ module RSpec
|
|
201
207
|
true
|
202
208
|
end
|
203
209
|
|
210
|
+
# @private
|
211
|
+
def supports_value_expectations?
|
212
|
+
false
|
213
|
+
end
|
214
|
+
|
204
215
|
private
|
205
216
|
|
206
217
|
def perform_change(event_proc)
|
@@ -242,11 +253,6 @@ module RSpec
|
|
242
253
|
"did change from #{@actual_before_description} " \
|
243
254
|
"to #{description_of @change_details.actual_after}"
|
244
255
|
end
|
245
|
-
|
246
|
-
def not_given_a_block_failure
|
247
|
-
"expected #{@change_details.value_representation} to have changed " \
|
248
|
-
"#{change_description}, but was not given a block"
|
249
|
-
end
|
250
256
|
end
|
251
257
|
|
252
258
|
# @api private
|
@@ -278,7 +284,6 @@ module RSpec
|
|
278
284
|
|
279
285
|
# @private
|
280
286
|
def failure_message_when_negated
|
281
|
-
return not_given_a_block_failure unless Proc === @event_proc
|
282
287
|
return before_value_failure unless @matches_before
|
283
288
|
did_change_failure
|
284
289
|
end
|
@@ -26,11 +26,19 @@ module RSpec
|
|
26
26
|
"#{matcher_1.description} #{conjunction} #{matcher_2.description}"
|
27
27
|
end
|
28
28
|
|
29
|
+
# @api private
|
29
30
|
def supports_block_expectations?
|
30
31
|
matcher_supports_block_expectations?(matcher_1) &&
|
31
32
|
matcher_supports_block_expectations?(matcher_2)
|
32
33
|
end
|
33
34
|
|
35
|
+
# @api private
|
36
|
+
def supports_value_expectations?
|
37
|
+
matcher_supports_value_expectations?(matcher_1) &&
|
38
|
+
matcher_supports_value_expectations?(matcher_2)
|
39
|
+
end
|
40
|
+
|
41
|
+
# @api private
|
34
42
|
def expects_call_stack_jump?
|
35
43
|
NestedEvaluator.matcher_expects_call_stack_jump?(matcher_1) ||
|
36
44
|
NestedEvaluator.matcher_expects_call_stack_jump?(matcher_2)
|
@@ -102,6 +110,12 @@ module RSpec
|
|
102
110
|
false
|
103
111
|
end
|
104
112
|
|
113
|
+
def matcher_supports_value_expectations?(matcher)
|
114
|
+
matcher.supports_value_expectations?
|
115
|
+
rescue NoMethodError
|
116
|
+
true
|
117
|
+
end
|
118
|
+
|
105
119
|
def matcher_is_diffable?(matcher)
|
106
120
|
matcher.diffable?
|
107
121
|
rescue NoMethodError
|
@@ -94,6 +94,13 @@ module RSpec
|
|
94
94
|
true
|
95
95
|
end
|
96
96
|
|
97
|
+
# @api private
|
98
|
+
# Indicates this matcher matches against a block only.
|
99
|
+
# @return [False]
|
100
|
+
def supports_value_expectations?
|
101
|
+
false
|
102
|
+
end
|
103
|
+
|
97
104
|
private
|
98
105
|
|
99
106
|
def captured?
|
@@ -101,13 +108,11 @@ module RSpec
|
|
101
108
|
end
|
102
109
|
|
103
110
|
def positive_failure_reason
|
104
|
-
return "was not a block" unless Proc === @block
|
105
111
|
return "output #{actual_output_description}" if @expected
|
106
112
|
"did not"
|
107
113
|
end
|
108
114
|
|
109
115
|
def negative_failure_reason
|
110
|
-
return "was not a block" unless Proc === @block
|
111
116
|
"output #{actual_output_description}"
|
112
117
|
end
|
113
118
|
|
@@ -76,6 +76,12 @@ module RSpec
|
|
76
76
|
true
|
77
77
|
end
|
78
78
|
|
79
|
+
# @private
|
80
|
+
def supports_value_expectations?
|
81
|
+
false
|
82
|
+
end
|
83
|
+
|
84
|
+
# @private
|
79
85
|
def expects_call_stack_jump?
|
80
86
|
true
|
81
87
|
end
|
@@ -199,7 +205,6 @@ module RSpec
|
|
199
205
|
end
|
200
206
|
|
201
207
|
def given_error
|
202
|
-
return " but was not given a block" unless Proc === @given_proc
|
203
208
|
return " but nothing was raised" unless @actual_error
|
204
209
|
|
205
210
|
backtrace = format_backtrace(@actual_error.backtrace)
|
@@ -88,12 +88,16 @@ module RSpec
|
|
88
88
|
end
|
89
89
|
|
90
90
|
# @api private
|
91
|
-
# Indicates this matcher matches against a block.
|
92
|
-
# @return [True]
|
93
91
|
def supports_block_expectations?
|
94
92
|
true
|
95
93
|
end
|
96
94
|
|
95
|
+
# @api private
|
96
|
+
def supports_value_expectations?
|
97
|
+
false
|
98
|
+
end
|
99
|
+
|
100
|
+
# @api private
|
97
101
|
def expects_call_stack_jump?
|
98
102
|
true
|
99
103
|
end
|
@@ -101,7 +105,6 @@ module RSpec
|
|
101
105
|
private
|
102
106
|
|
103
107
|
def actual_result
|
104
|
-
return "but was not a block" unless Proc === @block
|
105
108
|
"got #{caught}"
|
106
109
|
end
|
107
110
|
|
@@ -10,7 +10,6 @@ module RSpec
|
|
10
10
|
class YieldProbe
|
11
11
|
def self.probe(block, &callback)
|
12
12
|
probe = new(block, &callback)
|
13
|
-
return probe unless probe.has_block?
|
14
13
|
probe.probe
|
15
14
|
end
|
16
15
|
|
@@ -24,10 +23,6 @@ module RSpec
|
|
24
23
|
self.yielded_args = []
|
25
24
|
end
|
26
25
|
|
27
|
-
def has_block?
|
28
|
-
Proc === @block
|
29
|
-
end
|
30
|
-
|
31
26
|
def probe
|
32
27
|
assert_valid_expect_block!
|
33
28
|
@block.call(self)
|
@@ -152,14 +147,12 @@ module RSpec
|
|
152
147
|
# @private
|
153
148
|
def matches?(block)
|
154
149
|
@probe = YieldProbe.probe(block)
|
155
|
-
return false unless @probe.has_block?
|
156
|
-
|
157
150
|
@probe.num_yields.__send__(@expectation_type, @expected_yields_count)
|
158
151
|
end
|
159
152
|
|
160
153
|
# @private
|
161
154
|
def does_not_match?(block)
|
162
|
-
!matches?(block)
|
155
|
+
!matches?(block)
|
163
156
|
end
|
164
157
|
|
165
158
|
# @api private
|
@@ -179,6 +172,11 @@ module RSpec
|
|
179
172
|
true
|
180
173
|
end
|
181
174
|
|
175
|
+
# @private
|
176
|
+
def supports_value_expectations?
|
177
|
+
false
|
178
|
+
end
|
179
|
+
|
182
180
|
private
|
183
181
|
|
184
182
|
def set_expected_yields_count(relativity, n)
|
@@ -192,7 +190,6 @@ module RSpec
|
|
192
190
|
end
|
193
191
|
|
194
192
|
def failure_reason
|
195
|
-
return ' but was not a block' unless @probe.has_block?
|
196
193
|
return '' unless @expected_yields_count
|
197
194
|
" #{human_readable_expectation_type}#{human_readable_count(@expected_yields_count)}" \
|
198
195
|
" but yielded #{human_readable_count(@probe.num_yields)}"
|
@@ -222,13 +219,12 @@ module RSpec
|
|
222
219
|
# @private
|
223
220
|
def matches?(block)
|
224
221
|
@probe = YieldProbe.probe(block)
|
225
|
-
return false unless @probe.has_block?
|
226
222
|
@probe.yielded_once?(:yield_with_no_args) && @probe.single_yield_args.empty?
|
227
223
|
end
|
228
224
|
|
229
225
|
# @private
|
230
226
|
def does_not_match?(block)
|
231
|
-
!matches?(block)
|
227
|
+
!matches?(block)
|
232
228
|
end
|
233
229
|
|
234
230
|
# @private
|
@@ -246,16 +242,19 @@ module RSpec
|
|
246
242
|
true
|
247
243
|
end
|
248
244
|
|
245
|
+
# @private
|
246
|
+
def supports_value_expectations?
|
247
|
+
false
|
248
|
+
end
|
249
|
+
|
249
250
|
private
|
250
251
|
|
251
252
|
def positive_failure_reason
|
252
|
-
return 'was not a block' unless @probe.has_block?
|
253
253
|
return 'did not yield' if @probe.num_yields.zero?
|
254
254
|
"yielded with arguments: #{description_of @probe.single_yield_args}"
|
255
255
|
end
|
256
256
|
|
257
257
|
def negative_failure_reason
|
258
|
-
return 'was not a block' unless @probe.has_block?
|
259
258
|
'did'
|
260
259
|
end
|
261
260
|
end
|
@@ -276,14 +275,13 @@ module RSpec
|
|
276
275
|
@actual_formatted = actual_formatted
|
277
276
|
@args_matched_when_yielded &&= args_currently_match?
|
278
277
|
end
|
279
|
-
return false unless @probe.has_block?
|
280
278
|
@probe.probe
|
281
279
|
@probe.yielded_once?(:yield_with_args) && @args_matched_when_yielded
|
282
280
|
end
|
283
281
|
|
284
282
|
# @private
|
285
283
|
def does_not_match?(block)
|
286
|
-
!matches?(block)
|
284
|
+
!matches?(block)
|
287
285
|
end
|
288
286
|
|
289
287
|
# @private
|
@@ -308,10 +306,14 @@ module RSpec
|
|
308
306
|
true
|
309
307
|
end
|
310
308
|
|
309
|
+
# @private
|
310
|
+
def supports_value_expectations?
|
311
|
+
false
|
312
|
+
end
|
313
|
+
|
311
314
|
private
|
312
315
|
|
313
316
|
def positive_failure_reason
|
314
|
-
return 'was not a block' unless @probe.has_block?
|
315
317
|
return 'did not yield' if @probe.num_yields.zero?
|
316
318
|
@positive_args_failure
|
317
319
|
end
|
@@ -321,9 +323,7 @@ module RSpec
|
|
321
323
|
end
|
322
324
|
|
323
325
|
def negative_failure_reason
|
324
|
-
if !@
|
325
|
-
'was not a block'
|
326
|
-
elsif @args_matched_when_yielded && !@expected.empty?
|
326
|
+
if @args_matched_when_yielded && !@expected.empty?
|
327
327
|
'yielded with expected arguments' \
|
328
328
|
"\nexpected not: #{surface_descriptions_in(@expected).inspect}" \
|
329
329
|
"\n got: #{@actual_formatted}"
|
@@ -375,12 +375,11 @@ module RSpec
|
|
375
375
|
yield_count += 1
|
376
376
|
end
|
377
377
|
|
378
|
-
return false unless @probe.has_block?
|
379
378
|
args_matched_when_yielded && yield_count == @expected.length
|
380
379
|
end
|
381
380
|
|
382
381
|
def does_not_match?(block)
|
383
|
-
!matches?(block)
|
382
|
+
!matches?(block)
|
384
383
|
end
|
385
384
|
|
386
385
|
# @private
|
@@ -405,6 +404,11 @@ module RSpec
|
|
405
404
|
true
|
406
405
|
end
|
407
406
|
|
407
|
+
# @private
|
408
|
+
def supports_value_expectations?
|
409
|
+
false
|
410
|
+
end
|
411
|
+
|
408
412
|
private
|
409
413
|
|
410
414
|
def expected_arg_description
|
@@ -412,16 +416,12 @@ module RSpec
|
|
412
416
|
end
|
413
417
|
|
414
418
|
def positive_failure_reason
|
415
|
-
return 'was not a block' unless @probe.has_block?
|
416
|
-
|
417
419
|
'yielded with unexpected arguments' \
|
418
420
|
"\nexpected: #{surface_descriptions_in(@expected).inspect}" \
|
419
421
|
"\n got: [#{@actual_formatted.join(", ")}]"
|
420
422
|
end
|
421
423
|
|
422
424
|
def negative_failure_reason
|
423
|
-
return 'was not a block' unless @probe.has_block?
|
424
|
-
|
425
425
|
'yielded with expected arguments' \
|
426
426
|
"\nexpected not: #{surface_descriptions_in(@expected).inspect}" \
|
427
427
|
"\n got: [#{@actual_formatted.join(", ")}]"
|
data/lib/rspec/matchers/dsl.rb
CHANGED
@@ -60,6 +60,12 @@ module RSpec
|
|
60
60
|
# @return [Boolean] true if this matcher can be used in block expressions.
|
61
61
|
# @note If not defined, RSpec assumes a value of `false` for this method.
|
62
62
|
|
63
|
+
# @!method supports_value_expectations?
|
64
|
+
# Indicates that this matcher can be used in a value expectation expression,
|
65
|
+
# such as `expect(foo).to eq(bar)`.
|
66
|
+
# @return [Boolean] true if this matcher can be used in value expressions.
|
67
|
+
# @note If not defined, RSpec assumes a value of `true` for this method.
|
68
|
+
|
63
69
|
# @!method expects_call_stack_jump?
|
64
70
|
# Indicates that when this matcher is used in a block expectation
|
65
71
|
# expression, it expects the block to use a ruby construct that causes
|
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.8.
|
4
|
+
version: 3.8.5
|
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: 2019-
|
48
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
49
49
|
dependencies:
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: rspec-support
|
@@ -82,19 +82,19 @@ dependencies:
|
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '2.0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: aruba
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
90
|
+
version: 0.14.10
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
97
|
+
version: 0.14.10
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: cucumber
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,20 +109,6 @@ dependencies:
|
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '1.3'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: aruba
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - "~>"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.6.2
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - "~>"
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 0.6.2
|
126
112
|
- !ruby/object:Gem::Dependency
|
127
113
|
name: minitest
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,7 +188,7 @@ licenses:
|
|
202
188
|
- MIT
|
203
189
|
metadata:
|
204
190
|
bug_tracker_uri: https://github.com/rspec/rspec-expectations/issues
|
205
|
-
changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.8.
|
191
|
+
changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.8.5/Changelog.md
|
206
192
|
documentation_uri: https://rspec.info/documentation/
|
207
193
|
mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
|
208
194
|
source_code_uri: https://github.com/rspec/rspec-expectations
|
@@ -222,8 +208,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
208
|
- !ruby/object:Gem::Version
|
223
209
|
version: '0'
|
224
210
|
requirements: []
|
225
|
-
rubygems_version: 3.0.
|
211
|
+
rubygems_version: 3.0.6
|
226
212
|
signing_key:
|
227
213
|
specification_version: 4
|
228
|
-
summary: rspec-expectations-3.8.
|
214
|
+
summary: rspec-expectations-3.8.5
|
229
215
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|