rspec-expectations 3.8.5 → 3.8.6
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 +5 -5
- data/Changelog.md +8 -1
- data/lib/rspec/expectations/expectation_target.rb +7 -43
- data/lib/rspec/expectations/syntax.rb +1 -1
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers/built_in/base_matcher.rb +0 -5
- data/lib/rspec/matchers/built_in/change.rb +10 -15
- data/lib/rspec/matchers/built_in/compound.rb +0 -14
- data/lib/rspec/matchers/built_in/output.rb +2 -7
- data/lib/rspec/matchers/built_in/raise_error.rb +1 -6
- data/lib/rspec/matchers/built_in/throw_symbol.rb +3 -6
- data/lib/rspec/matchers/built_in/yield.rb +25 -25
- data/lib/rspec/matchers/dsl.rb +0 -4
- data/lib/rspec/matchers/matcher_protocol.rb +0 -6
- metadata +4 -4
- 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: d1f0c43e7a6933605f4b96eb0a5545bd5e1b03a2b2de4471edada5000f3c5c37
|
4
|
+
data.tar.gz: 62b85e7625d066114174dfaa586dbb2cb419aa0bc470b68918c2524b841f8762
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ba237ec4317b7af0780f5e929e10da26b501f76a23cb807684498a21118ef0f72598c1ded7ee0436a8a29f97ea16a0d4f887c7b345b22302f5b8ef50c660beb
|
7
|
+
data.tar.gz: 4138b8b208b668216660d55f5634440e8240c4a36f15489fc3e1e6093d4a8530fc419d9f958ea4526ac63e7e9e2d589c7716a21832d257adac823486d5dfae77
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
���
|
2
|
-
|
3
|
-
8
|
4
|
-
|
5
|
-
|
1
|
+
p]���[���03$�iė?��
|
2
|
+
�6s���1ϑ�x����6n�������7�u��
|
3
|
+
"�l����@!;E��(c}=>8�a���Br {�� 5�����e�����?O�7�Q�����g�f�Ip+�H;m�-�#\ �d�uZ�7�����8s�kug��2G+'1m')�V�����L�5^(�����L�0F�b8q��੦h�T�:�X�zB-тϳ.(��A������q}&b̟o����&�e�+��C��ø.��c���9|v��)h��C*�6،�� d۳
|
4
|
+
h�{�Q�'���l�F�7��������h��)#g����{�\�u9&��M�����l��
|
5
|
+
�a���$<�|�}5�������}S�#��KW#c-�r� ����t~�O�+T[���#H�X�,&��)��^�!�ٓڿr��������� ���}��=dk<�N�"3��u�\�22��8Y��'�M[�i�T�ɚ�|?
|
data/Changelog.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 3.8.6 / 2019-10-07
|
2
|
+
|
3
|
+
Bug Fixes:
|
4
|
+
|
5
|
+
* Revert #1125 due to the change being incompatible with our semantic versioning
|
6
|
+
policy.
|
7
|
+
|
1
8
|
### 3.8.5 / 2019-10-02
|
2
9
|
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.4...v3.8.5)
|
3
10
|
|
@@ -22,7 +29,7 @@ Bug Fixes:
|
|
22
29
|
* Prevent composed `all` matchers from leaking into their siblings leading to duplicate
|
23
30
|
failures. (Jamie English, #1086)
|
24
31
|
* Prevent objects which change their hash on comparison from failing change checks.
|
25
|
-
(Phil Pirozhkov, #
|
32
|
+
(Phil Pirozhkov, #1110)
|
26
33
|
* Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
|
27
34
|
`be_kind_of` matchers encounter objects not supporting those methods.
|
28
35
|
(Taichi Ishitani, #1107)
|
@@ -33,16 +33,16 @@ module RSpec
|
|
33
33
|
end
|
34
34
|
|
35
35
|
# @private
|
36
|
-
def self.for(value,
|
36
|
+
def self.for(value, block)
|
37
37
|
if UndefinedValue.equal?(value)
|
38
|
-
unless
|
38
|
+
unless block
|
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
|
43
43
|
raise ArgumentError, "You cannot pass both an argument and a block to `expect`."
|
44
44
|
else
|
45
|
-
|
45
|
+
new(value)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -90,40 +90,6 @@ 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
|
-
|
127
93
|
# @private
|
128
94
|
# Validates the provided matcher to ensure it supports block
|
129
95
|
# expectations, in order to avoid user confusion when they
|
@@ -152,11 +118,9 @@ module RSpec
|
|
152
118
|
end
|
153
119
|
|
154
120
|
def supports_block_expectations?(matcher)
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
false
|
159
|
-
end
|
121
|
+
matcher.supports_block_expectations?
|
122
|
+
rescue NoMethodError
|
123
|
+
false
|
160
124
|
end
|
161
125
|
end
|
162
126
|
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,
|
73
|
+
::RSpec::Expectations::ExpectationTarget.for(value, block)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -77,11 +77,6 @@ module RSpec
|
|
77
77
|
true
|
78
78
|
end
|
79
79
|
|
80
|
-
# @private
|
81
|
-
def supports_value_expectations?
|
82
|
-
false
|
83
|
-
end
|
84
|
-
|
85
80
|
private
|
86
81
|
|
87
82
|
def initialize(receiver=nil, message=nil, &block)
|
@@ -112,10 +107,12 @@ module RSpec
|
|
112
107
|
end
|
113
108
|
|
114
109
|
def positive_failure_reason
|
110
|
+
return "was not given a block" unless Proc === @event_proc
|
115
111
|
"is still #{@actual_before_description}"
|
116
112
|
end
|
117
113
|
|
118
114
|
def negative_failure_reason
|
115
|
+
return "was not given a block" unless Proc === @event_proc
|
119
116
|
"did change from #{@actual_before_description} " \
|
120
117
|
"to #{description_of change_details.actual_after}"
|
121
118
|
end
|
@@ -161,14 +158,10 @@ module RSpec
|
|
161
158
|
true
|
162
159
|
end
|
163
160
|
|
164
|
-
# @private
|
165
|
-
def supports_value_expectations?
|
166
|
-
false
|
167
|
-
end
|
168
|
-
|
169
161
|
private
|
170
162
|
|
171
163
|
def failure_reason
|
164
|
+
return "was not given a block" unless Proc === @event_proc
|
172
165
|
"was changed by #{description_of @change_details.actual_delta}"
|
173
166
|
end
|
174
167
|
end
|
@@ -197,6 +190,7 @@ module RSpec
|
|
197
190
|
|
198
191
|
# @private
|
199
192
|
def failure_message
|
193
|
+
return not_given_a_block_failure unless Proc === @event_proc
|
200
194
|
return before_value_failure unless @matches_before
|
201
195
|
return did_not_change_failure unless @change_details.changed?
|
202
196
|
after_value_failure
|
@@ -207,11 +201,6 @@ module RSpec
|
|
207
201
|
true
|
208
202
|
end
|
209
203
|
|
210
|
-
# @private
|
211
|
-
def supports_value_expectations?
|
212
|
-
false
|
213
|
-
end
|
214
|
-
|
215
204
|
private
|
216
205
|
|
217
206
|
def perform_change(event_proc)
|
@@ -253,6 +242,11 @@ module RSpec
|
|
253
242
|
"did change from #{@actual_before_description} " \
|
254
243
|
"to #{description_of @change_details.actual_after}"
|
255
244
|
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
|
256
250
|
end
|
257
251
|
|
258
252
|
# @api private
|
@@ -284,6 +278,7 @@ module RSpec
|
|
284
278
|
|
285
279
|
# @private
|
286
280
|
def failure_message_when_negated
|
281
|
+
return not_given_a_block_failure unless Proc === @event_proc
|
287
282
|
return before_value_failure unless @matches_before
|
288
283
|
did_change_failure
|
289
284
|
end
|
@@ -26,19 +26,11 @@ module RSpec
|
|
26
26
|
"#{matcher_1.description} #{conjunction} #{matcher_2.description}"
|
27
27
|
end
|
28
28
|
|
29
|
-
# @api private
|
30
29
|
def supports_block_expectations?
|
31
30
|
matcher_supports_block_expectations?(matcher_1) &&
|
32
31
|
matcher_supports_block_expectations?(matcher_2)
|
33
32
|
end
|
34
33
|
|
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
|
42
34
|
def expects_call_stack_jump?
|
43
35
|
NestedEvaluator.matcher_expects_call_stack_jump?(matcher_1) ||
|
44
36
|
NestedEvaluator.matcher_expects_call_stack_jump?(matcher_2)
|
@@ -110,12 +102,6 @@ module RSpec
|
|
110
102
|
false
|
111
103
|
end
|
112
104
|
|
113
|
-
def matcher_supports_value_expectations?(matcher)
|
114
|
-
matcher.supports_value_expectations?
|
115
|
-
rescue NoMethodError
|
116
|
-
true
|
117
|
-
end
|
118
|
-
|
119
105
|
def matcher_is_diffable?(matcher)
|
120
106
|
matcher.diffable?
|
121
107
|
rescue NoMethodError
|
@@ -94,13 +94,6 @@ 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
|
-
|
104
97
|
private
|
105
98
|
|
106
99
|
def captured?
|
@@ -108,11 +101,13 @@ module RSpec
|
|
108
101
|
end
|
109
102
|
|
110
103
|
def positive_failure_reason
|
104
|
+
return "was not a block" unless Proc === @block
|
111
105
|
return "output #{actual_output_description}" if @expected
|
112
106
|
"did not"
|
113
107
|
end
|
114
108
|
|
115
109
|
def negative_failure_reason
|
110
|
+
return "was not a block" unless Proc === @block
|
116
111
|
"output #{actual_output_description}"
|
117
112
|
end
|
118
113
|
|
@@ -76,12 +76,6 @@ module RSpec
|
|
76
76
|
true
|
77
77
|
end
|
78
78
|
|
79
|
-
# @private
|
80
|
-
def supports_value_expectations?
|
81
|
-
false
|
82
|
-
end
|
83
|
-
|
84
|
-
# @private
|
85
79
|
def expects_call_stack_jump?
|
86
80
|
true
|
87
81
|
end
|
@@ -205,6 +199,7 @@ module RSpec
|
|
205
199
|
end
|
206
200
|
|
207
201
|
def given_error
|
202
|
+
return " but was not given a block" unless Proc === @given_proc
|
208
203
|
return " but nothing was raised" unless @actual_error
|
209
204
|
|
210
205
|
backtrace = format_backtrace(@actual_error.backtrace)
|
@@ -88,16 +88,12 @@ module RSpec
|
|
88
88
|
end
|
89
89
|
|
90
90
|
# @api private
|
91
|
+
# Indicates this matcher matches against a block.
|
92
|
+
# @return [True]
|
91
93
|
def supports_block_expectations?
|
92
94
|
true
|
93
95
|
end
|
94
96
|
|
95
|
-
# @api private
|
96
|
-
def supports_value_expectations?
|
97
|
-
false
|
98
|
-
end
|
99
|
-
|
100
|
-
# @api private
|
101
97
|
def expects_call_stack_jump?
|
102
98
|
true
|
103
99
|
end
|
@@ -105,6 +101,7 @@ module RSpec
|
|
105
101
|
private
|
106
102
|
|
107
103
|
def actual_result
|
104
|
+
return "but was not a block" unless Proc === @block
|
108
105
|
"got #{caught}"
|
109
106
|
end
|
110
107
|
|
@@ -10,6 +10,7 @@ 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?
|
13
14
|
probe.probe
|
14
15
|
end
|
15
16
|
|
@@ -23,6 +24,10 @@ module RSpec
|
|
23
24
|
self.yielded_args = []
|
24
25
|
end
|
25
26
|
|
27
|
+
def has_block?
|
28
|
+
Proc === @block
|
29
|
+
end
|
30
|
+
|
26
31
|
def probe
|
27
32
|
assert_valid_expect_block!
|
28
33
|
@block.call(self)
|
@@ -147,12 +152,14 @@ module RSpec
|
|
147
152
|
# @private
|
148
153
|
def matches?(block)
|
149
154
|
@probe = YieldProbe.probe(block)
|
155
|
+
return false unless @probe.has_block?
|
156
|
+
|
150
157
|
@probe.num_yields.__send__(@expectation_type, @expected_yields_count)
|
151
158
|
end
|
152
159
|
|
153
160
|
# @private
|
154
161
|
def does_not_match?(block)
|
155
|
-
!matches?(block)
|
162
|
+
!matches?(block) && @probe.has_block?
|
156
163
|
end
|
157
164
|
|
158
165
|
# @api private
|
@@ -172,11 +179,6 @@ module RSpec
|
|
172
179
|
true
|
173
180
|
end
|
174
181
|
|
175
|
-
# @private
|
176
|
-
def supports_value_expectations?
|
177
|
-
false
|
178
|
-
end
|
179
|
-
|
180
182
|
private
|
181
183
|
|
182
184
|
def set_expected_yields_count(relativity, n)
|
@@ -190,6 +192,7 @@ module RSpec
|
|
190
192
|
end
|
191
193
|
|
192
194
|
def failure_reason
|
195
|
+
return ' but was not a block' unless @probe.has_block?
|
193
196
|
return '' unless @expected_yields_count
|
194
197
|
" #{human_readable_expectation_type}#{human_readable_count(@expected_yields_count)}" \
|
195
198
|
" but yielded #{human_readable_count(@probe.num_yields)}"
|
@@ -219,12 +222,13 @@ module RSpec
|
|
219
222
|
# @private
|
220
223
|
def matches?(block)
|
221
224
|
@probe = YieldProbe.probe(block)
|
225
|
+
return false unless @probe.has_block?
|
222
226
|
@probe.yielded_once?(:yield_with_no_args) && @probe.single_yield_args.empty?
|
223
227
|
end
|
224
228
|
|
225
229
|
# @private
|
226
230
|
def does_not_match?(block)
|
227
|
-
!matches?(block)
|
231
|
+
!matches?(block) && @probe.has_block?
|
228
232
|
end
|
229
233
|
|
230
234
|
# @private
|
@@ -242,19 +246,16 @@ module RSpec
|
|
242
246
|
true
|
243
247
|
end
|
244
248
|
|
245
|
-
# @private
|
246
|
-
def supports_value_expectations?
|
247
|
-
false
|
248
|
-
end
|
249
|
-
|
250
249
|
private
|
251
250
|
|
252
251
|
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?
|
258
259
|
'did'
|
259
260
|
end
|
260
261
|
end
|
@@ -275,13 +276,14 @@ module RSpec
|
|
275
276
|
@actual_formatted = actual_formatted
|
276
277
|
@args_matched_when_yielded &&= args_currently_match?
|
277
278
|
end
|
279
|
+
return false unless @probe.has_block?
|
278
280
|
@probe.probe
|
279
281
|
@probe.yielded_once?(:yield_with_args) && @args_matched_when_yielded
|
280
282
|
end
|
281
283
|
|
282
284
|
# @private
|
283
285
|
def does_not_match?(block)
|
284
|
-
!matches?(block)
|
286
|
+
!matches?(block) && @probe.has_block?
|
285
287
|
end
|
286
288
|
|
287
289
|
# @private
|
@@ -306,14 +308,10 @@ module RSpec
|
|
306
308
|
true
|
307
309
|
end
|
308
310
|
|
309
|
-
# @private
|
310
|
-
def supports_value_expectations?
|
311
|
-
false
|
312
|
-
end
|
313
|
-
|
314
311
|
private
|
315
312
|
|
316
313
|
def positive_failure_reason
|
314
|
+
return 'was not a block' unless @probe.has_block?
|
317
315
|
return 'did not yield' if @probe.num_yields.zero?
|
318
316
|
@positive_args_failure
|
319
317
|
end
|
@@ -323,7 +321,9 @@ module RSpec
|
|
323
321
|
end
|
324
322
|
|
325
323
|
def negative_failure_reason
|
326
|
-
if
|
324
|
+
if !@probe.has_block?
|
325
|
+
'was not a block'
|
326
|
+
elsif @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,11 +375,12 @@ module RSpec
|
|
375
375
|
yield_count += 1
|
376
376
|
end
|
377
377
|
|
378
|
+
return false unless @probe.has_block?
|
378
379
|
args_matched_when_yielded && yield_count == @expected.length
|
379
380
|
end
|
380
381
|
|
381
382
|
def does_not_match?(block)
|
382
|
-
!matches?(block)
|
383
|
+
!matches?(block) && @probe.has_block?
|
383
384
|
end
|
384
385
|
|
385
386
|
# @private
|
@@ -404,11 +405,6 @@ module RSpec
|
|
404
405
|
true
|
405
406
|
end
|
406
407
|
|
407
|
-
# @private
|
408
|
-
def supports_value_expectations?
|
409
|
-
false
|
410
|
-
end
|
411
|
-
|
412
408
|
private
|
413
409
|
|
414
410
|
def expected_arg_description
|
@@ -416,12 +412,16 @@ module RSpec
|
|
416
412
|
end
|
417
413
|
|
418
414
|
def positive_failure_reason
|
415
|
+
return 'was not a block' unless @probe.has_block?
|
416
|
+
|
419
417
|
'yielded with unexpected arguments' \
|
420
418
|
"\nexpected: #{surface_descriptions_in(@expected).inspect}" \
|
421
419
|
"\n got: [#{@actual_formatted.join(", ")}]"
|
422
420
|
end
|
423
421
|
|
424
422
|
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,12 +60,6 @@ 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
|
-
|
69
63
|
# @!method expects_call_stack_jump?
|
70
64
|
# Indicates that when this matcher is used in a block expectation
|
71
65
|
# 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.6
|
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-10-
|
48
|
+
date: 2019-10-07 00:00:00.000000000 Z
|
49
49
|
dependencies:
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: rspec-support
|
@@ -188,7 +188,7 @@ licenses:
|
|
188
188
|
- MIT
|
189
189
|
metadata:
|
190
190
|
bug_tracker_uri: https://github.com/rspec/rspec-expectations/issues
|
191
|
-
changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.8.
|
191
|
+
changelog_uri: https://github.com/rspec/rspec-expectations/blob/v3.8.6/Changelog.md
|
192
192
|
documentation_uri: https://rspec.info/documentation/
|
193
193
|
mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
|
194
194
|
source_code_uri: https://github.com/rspec/rspec-expectations
|
@@ -211,5 +211,5 @@ requirements: []
|
|
211
211
|
rubygems_version: 3.0.6
|
212
212
|
signing_key:
|
213
213
|
specification_version: 4
|
214
|
-
summary: rspec-expectations-3.8.
|
214
|
+
summary: rspec-expectations-3.8.6
|
215
215
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|