rspec-expectations 3.0.0.beta2 → 3.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -2
- data/.yardopts +0 -1
- data/Changelog.md +115 -35
- data/README.md +2 -2
- data/lib/rspec/expectations.rb +13 -8
- data/lib/rspec/{matchers → expectations}/configuration.rb +38 -13
- data/lib/rspec/expectations/expectation_target.rb +72 -8
- data/lib/rspec/expectations/fail_with.rb +10 -52
- data/lib/rspec/expectations/handler.rb +9 -11
- data/lib/rspec/expectations/syntax.rb +37 -35
- data/lib/rspec/expectations/version.rb +1 -1
- data/lib/rspec/matchers.rb +60 -9
- data/lib/rspec/matchers/aliased_matcher.rb +6 -0
- data/lib/rspec/matchers/built_in.rb +9 -1
- data/lib/rspec/matchers/built_in/all.rb +78 -0
- data/lib/rspec/matchers/built_in/base_matcher.rb +39 -1
- data/lib/rspec/matchers/built_in/be.rb +117 -42
- data/lib/rspec/matchers/built_in/be_between.rb +22 -0
- data/lib/rspec/matchers/built_in/be_instance_of.rb +11 -3
- data/lib/rspec/matchers/built_in/be_kind_of.rb +5 -0
- data/lib/rspec/matchers/built_in/be_within.rb +26 -6
- data/lib/rspec/matchers/built_in/change.rb +89 -13
- data/lib/rspec/matchers/built_in/compound.rb +19 -3
- data/lib/rspec/matchers/built_in/contain_exactly.rb +17 -6
- data/lib/rspec/matchers/built_in/cover.rb +3 -0
- data/lib/rspec/matchers/built_in/eq.rb +20 -5
- data/lib/rspec/matchers/built_in/eql.rb +15 -3
- data/lib/rspec/matchers/built_in/equal.rb +23 -6
- data/lib/rspec/matchers/built_in/exist.rb +74 -10
- data/lib/rspec/matchers/built_in/has.rb +58 -3
- data/lib/rspec/matchers/built_in/include.rb +16 -1
- data/lib/rspec/matchers/built_in/match.rb +14 -4
- data/lib/rspec/matchers/built_in/operators.rb +16 -0
- data/lib/rspec/matchers/built_in/output.rb +47 -5
- data/lib/rspec/matchers/built_in/raise_error.rb +40 -23
- data/lib/rspec/matchers/built_in/respond_to.rb +37 -16
- data/lib/rspec/matchers/built_in/satisfy.rb +15 -0
- data/lib/rspec/matchers/built_in/start_and_end_with.rb +29 -14
- data/lib/rspec/matchers/built_in/throw_symbol.rb +32 -3
- data/lib/rspec/matchers/built_in/yield.rb +148 -44
- data/lib/rspec/matchers/composable.rb +48 -7
- data/lib/rspec/matchers/dsl.rb +45 -17
- data/lib/rspec/matchers/generated_descriptions.rb +7 -0
- data/lib/rspec/matchers/matcher_delegator.rb +6 -2
- data/lib/rspec/matchers/pretty.rb +15 -19
- metadata +33 -236
- metadata.gz.sig +0 -0
- data/features/README.md +0 -48
- data/features/Upgrade.md +0 -53
- data/features/built_in_matchers/README.md +0 -96
- data/features/built_in_matchers/be.feature +0 -175
- data/features/built_in_matchers/be_within.feature +0 -48
- data/features/built_in_matchers/comparisons.feature +0 -97
- data/features/built_in_matchers/contain_exactly.feature +0 -46
- data/features/built_in_matchers/cover.feature +0 -47
- data/features/built_in_matchers/end_with.feature +0 -48
- data/features/built_in_matchers/equality.feature +0 -136
- data/features/built_in_matchers/exist.feature +0 -45
- data/features/built_in_matchers/expect_change.feature +0 -59
- data/features/built_in_matchers/expect_error.feature +0 -144
- data/features/built_in_matchers/include.feature +0 -126
- data/features/built_in_matchers/match.feature +0 -51
- data/features/built_in_matchers/output.feature +0 -70
- data/features/built_in_matchers/predicates.feature +0 -161
- data/features/built_in_matchers/respond_to.feature +0 -84
- data/features/built_in_matchers/satisfy.feature +0 -33
- data/features/built_in_matchers/start_with.feature +0 -48
- data/features/built_in_matchers/throw_symbol.feature +0 -91
- data/features/built_in_matchers/types.feature +0 -116
- data/features/built_in_matchers/yield.feature +0 -161
- data/features/composing_matchers.feature +0 -250
- data/features/compound_expectations.feature +0 -45
- data/features/custom_matchers/access_running_example.feature +0 -53
- data/features/custom_matchers/define_diffable_matcher.feature +0 -27
- data/features/custom_matchers/define_matcher.feature +0 -340
- data/features/custom_matchers/define_matcher_outside_rspec.feature +0 -34
- data/features/custom_matchers/define_matcher_with_fluent_interface.feature +0 -24
- data/features/customized_message.feature +0 -39
- data/features/diffing.feature +0 -85
- data/features/implicit_docstrings.feature +0 -52
- data/features/step_definitions/additional_cli_steps.rb +0 -22
- data/features/support/env.rb +0 -21
- data/features/support/rubinius.rb +0 -6
- data/features/syntax_configuration.feature +0 -71
- data/features/test_frameworks/minitest.feature +0 -44
- data/lib/rspec-expectations.rb +0 -1
- data/lib/rspec/expectations/diff_presenter.rb +0 -141
- data/lib/rspec/expectations/differ.rb +0 -44
- data/lib/rspec/expectations/encoded_string.rb +0 -56
- data/spec/rspec/expectations/diff_presenter_spec.rb +0 -249
- data/spec/rspec/expectations/encoded_string_spec.rb +0 -74
- data/spec/rspec/expectations/expectation_target_spec.rb +0 -82
- data/spec/rspec/expectations/extensions/kernel_spec.rb +0 -67
- data/spec/rspec/expectations/fail_with_spec.rb +0 -114
- data/spec/rspec/expectations/handler_spec.rb +0 -205
- data/spec/rspec/expectations/minitest_integration_spec.rb +0 -27
- data/spec/rspec/expectations/syntax_spec.rb +0 -89
- data/spec/rspec/expectations_spec.rb +0 -12
- data/spec/rspec/matchers/aliased_matcher_spec.rb +0 -48
- data/spec/rspec/matchers/aliases_spec.rb +0 -449
- data/spec/rspec/matchers/built_in/base_matcher_spec.rb +0 -83
- data/spec/rspec/matchers/built_in/be_between_spec.rb +0 -159
- data/spec/rspec/matchers/built_in/be_instance_of_spec.rb +0 -63
- data/spec/rspec/matchers/built_in/be_kind_of_spec.rb +0 -41
- data/spec/rspec/matchers/built_in/be_spec.rb +0 -592
- data/spec/rspec/matchers/built_in/be_within_spec.rb +0 -141
- data/spec/rspec/matchers/built_in/change_spec.rb +0 -808
- data/spec/rspec/matchers/built_in/compound_spec.rb +0 -292
- data/spec/rspec/matchers/built_in/contain_exactly_spec.rb +0 -441
- data/spec/rspec/matchers/built_in/cover_spec.rb +0 -69
- data/spec/rspec/matchers/built_in/eq_spec.rb +0 -156
- data/spec/rspec/matchers/built_in/eql_spec.rb +0 -41
- data/spec/rspec/matchers/built_in/equal_spec.rb +0 -106
- data/spec/rspec/matchers/built_in/exist_spec.rb +0 -124
- data/spec/rspec/matchers/built_in/has_spec.rb +0 -161
- data/spec/rspec/matchers/built_in/include_spec.rb +0 -540
- data/spec/rspec/matchers/built_in/match_spec.rb +0 -102
- data/spec/rspec/matchers/built_in/operators_spec.rb +0 -252
- data/spec/rspec/matchers/built_in/output_spec.rb +0 -165
- data/spec/rspec/matchers/built_in/raise_error_spec.rb +0 -461
- data/spec/rspec/matchers/built_in/respond_to_spec.rb +0 -292
- data/spec/rspec/matchers/built_in/satisfy_spec.rb +0 -44
- data/spec/rspec/matchers/built_in/start_and_end_with_spec.rb +0 -253
- data/spec/rspec/matchers/built_in/throw_symbol_spec.rb +0 -135
- data/spec/rspec/matchers/built_in/yield_spec.rb +0 -627
- data/spec/rspec/matchers/configuration_spec.rb +0 -213
- data/spec/rspec/matchers/description_generation_spec.rb +0 -191
- data/spec/rspec/matchers/dsl_spec.rb +0 -895
- data/spec/rspec/matchers/legacy_spec.rb +0 -101
- data/spec/rspec/matchers_spec.rb +0 -74
- data/spec/spec_helper.rb +0 -85
- data/spec/support/matchers.rb +0 -22
- data/spec/support/shared_examples.rb +0 -35
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
RSpec::Support.require_rspec_support "fuzzy_matcher"
|
2
2
|
|
3
3
|
module RSpec
|
4
4
|
module Matchers
|
@@ -15,12 +15,14 @@ module RSpec
|
|
15
15
|
#
|
16
16
|
# @example
|
17
17
|
# expect(alphabet).to start_with("a").and end_with("z")
|
18
|
+
# expect(alphabet).to start_with("a") & end_with("z")
|
18
19
|
#
|
19
20
|
# @note The negative form (`expect(...).not_to matcher.and other`)
|
20
21
|
# is not supported at this time.
|
21
22
|
def and(matcher)
|
22
23
|
BuiltIn::Compound::And.new self, matcher
|
23
24
|
end
|
25
|
+
alias & and
|
24
26
|
|
25
27
|
# Creates a compound `or` expectation. The matcher will
|
26
28
|
# pass if either sub-matcher passes.
|
@@ -29,12 +31,14 @@ module RSpec
|
|
29
31
|
#
|
30
32
|
# @example
|
31
33
|
# expect(stoplight.color).to eq("red").or eq("green").or eq("yellow")
|
34
|
+
# expect(stoplight.color).to eq("red") | eq("green") | eq("yellow")
|
32
35
|
#
|
33
36
|
# @note The negative form (`expect(...).not_to matcher.or other`)
|
34
37
|
# is not supported at this time.
|
35
38
|
def or(matcher)
|
36
39
|
BuiltIn::Compound::Or.new self, matcher
|
37
40
|
end
|
41
|
+
alias | or
|
38
42
|
|
39
43
|
# Delegates to `#matches?`. Allows matchers to be used in composable
|
40
44
|
# fashion and also supports using matchers in case statements.
|
@@ -42,7 +46,7 @@ module RSpec
|
|
42
46
|
matches?(value)
|
43
47
|
end
|
44
48
|
|
45
|
-
private
|
49
|
+
private
|
46
50
|
|
47
51
|
# This provides a generic way to fuzzy-match an expected value against
|
48
52
|
# an actual value. It understands nested data structures (e.g. hashes
|
@@ -58,8 +62,9 @@ module RSpec
|
|
58
62
|
# @param expected [Object] what is expected
|
59
63
|
# @param actual [Object] the actual value
|
60
64
|
#
|
61
|
-
#
|
65
|
+
# @!visibility public
|
62
66
|
def values_match?(expected, actual)
|
67
|
+
expected = with_matchers_cloned(expected)
|
63
68
|
Support::FuzzyMatcher.values_match?(expected, actual)
|
64
69
|
end
|
65
70
|
|
@@ -73,7 +78,7 @@ module RSpec
|
|
73
78
|
# `failure_message_when_negated` implementation if you are
|
74
79
|
# supporting matcher arguments.
|
75
80
|
#
|
76
|
-
#
|
81
|
+
# @!visibility public
|
77
82
|
def description_of(object)
|
78
83
|
return object.description if Matchers.is_a_describable_matcher?(object)
|
79
84
|
object.inspect
|
@@ -90,19 +95,55 @@ module RSpec
|
|
90
95
|
# supporting any arguments which may be a data structure
|
91
96
|
# containing matchers.
|
92
97
|
#
|
93
|
-
#
|
98
|
+
# @!visibility public
|
94
99
|
def surface_descriptions_in(item)
|
95
100
|
if Matchers.is_a_describable_matcher?(item)
|
96
101
|
DescribableItem.new(item)
|
97
102
|
elsif Hash === item
|
98
103
|
Hash[ surface_descriptions_in(item.to_a) ]
|
99
104
|
elsif enumerable?(item)
|
100
|
-
|
105
|
+
begin
|
106
|
+
item.map { |subitem| surface_descriptions_in(subitem) }
|
107
|
+
rescue IOError # STDOUT is enumerable but `map` raises an error
|
108
|
+
item.inspect
|
109
|
+
end
|
101
110
|
else
|
102
111
|
item
|
103
112
|
end
|
104
113
|
end
|
105
114
|
|
115
|
+
# @private
|
116
|
+
# Historically, a single matcher instance was only checked
|
117
|
+
# against a single value. Given that the matcher was only
|
118
|
+
# used once, it's been common to memoize some intermediate
|
119
|
+
# calculation that is derived from the `actual` value in
|
120
|
+
# order to reuse that intermediate result in the failure
|
121
|
+
# message.
|
122
|
+
#
|
123
|
+
# This can cause a problem when using such a matcher as an
|
124
|
+
# argument to another matcher in a composed matcher expression,
|
125
|
+
# since the matcher instance may be checked against multiple
|
126
|
+
# values and produce invalid results due to the memoization.
|
127
|
+
#
|
128
|
+
# To deal with this, we clone any matchers in `expected` via
|
129
|
+
# this method when using `values_match?`, so that any memoization
|
130
|
+
# does not "leak" between checks.
|
131
|
+
def with_matchers_cloned(object)
|
132
|
+
if Matchers.is_a_matcher?(object)
|
133
|
+
object.clone
|
134
|
+
elsif Hash === object
|
135
|
+
Hash[ with_matchers_cloned(object.to_a) ]
|
136
|
+
elsif enumerable?(object)
|
137
|
+
begin
|
138
|
+
object.map { |subobject| with_matchers_cloned(subobject) }
|
139
|
+
rescue IOError # STDOUT is enumerable but `map` raises an error
|
140
|
+
object
|
141
|
+
end
|
142
|
+
else
|
143
|
+
object
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
106
147
|
if String.ancestors.include?(Enumerable) # 1.8.7
|
107
148
|
# Strings are not enumerable on 1.9, and on 1.8 they are an infinitely
|
108
149
|
# nested enumerable: since ruby lacks a character class, it yields
|
@@ -120,7 +161,7 @@ module RSpec
|
|
120
161
|
Enumerable === item
|
121
162
|
end
|
122
163
|
end
|
123
|
-
module_function :surface_descriptions_in, :enumerable?
|
164
|
+
module_function :surface_descriptions_in, :enumerable?
|
124
165
|
|
125
166
|
# Wraps an item in order to surface its `description` via `inspect`.
|
126
167
|
# @api private
|
data/lib/rspec/matchers/dsl.rb
CHANGED
@@ -1,16 +1,14 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Matchers
|
3
|
+
# Defines the custom matcher DSL.
|
3
4
|
module DSL
|
4
5
|
# Defines a custom matcher.
|
5
6
|
# @see RSpec::Matchers
|
6
7
|
def define(name, &declarations)
|
7
8
|
define_method name do |*expected|
|
8
|
-
|
9
|
-
matcher.matcher_execution_context = @matcher_execution_context ||= self
|
10
|
-
matcher
|
9
|
+
RSpec::Matchers::DSL::Matcher.new(name, declarations, self, *expected)
|
11
10
|
end
|
12
11
|
end
|
13
|
-
|
14
12
|
alias_method :matcher, :define
|
15
13
|
|
16
14
|
if RSpec.respond_to?(:configure)
|
@@ -153,6 +151,14 @@ module RSpec
|
|
153
151
|
define_method(:diffable?) { true }
|
154
152
|
end
|
155
153
|
|
154
|
+
# Declares that the matcher can be used in a block expectation.
|
155
|
+
# Users will not be able to use your matcher in a block
|
156
|
+
# expectation without declaring this.
|
157
|
+
# (e.g. `expect { do_something }.to matcher`).
|
158
|
+
def supports_block_expectations
|
159
|
+
define_method(:supports_block_expectations?) { true }
|
160
|
+
end
|
161
|
+
|
156
162
|
# Convenience for defining methods on this matcher to create a fluent
|
157
163
|
# interface. The trick about fluent interfaces is that each method must
|
158
164
|
# return self in order to chain methods together. `chain` handles that
|
@@ -245,17 +251,23 @@ module RSpec
|
|
245
251
|
|
246
252
|
# The default description.
|
247
253
|
def description
|
248
|
-
"#{name_to_sentence}#{
|
254
|
+
"#{name_to_sentence}#{to_sentence expected}"
|
249
255
|
end
|
250
256
|
|
251
257
|
# The default failure message for positive expectations.
|
252
258
|
def failure_message
|
253
|
-
"expected #{actual.inspect} to #{name_to_sentence}#{
|
259
|
+
"expected #{actual.inspect} to #{name_to_sentence}#{to_sentence expected}"
|
254
260
|
end
|
255
261
|
|
256
262
|
# The default failure message for negative expectations.
|
257
263
|
def failure_message_when_negated
|
258
|
-
"expected #{actual.inspect} not to #{name_to_sentence}#{
|
264
|
+
"expected #{actual.inspect} not to #{name_to_sentence}#{to_sentence expected}"
|
265
|
+
end
|
266
|
+
|
267
|
+
# Matchers do not support block expectations by default. You
|
268
|
+
# must opt-in.
|
269
|
+
def supports_block_expectations?
|
270
|
+
false
|
259
271
|
end
|
260
272
|
end
|
261
273
|
|
@@ -280,14 +292,20 @@ module RSpec
|
|
280
292
|
extend Macros
|
281
293
|
extend Macros::Deprecated
|
282
294
|
|
283
|
-
|
284
|
-
|
295
|
+
# Exposes the value being matched against -- generally the object
|
296
|
+
# object wrapped by `expect`.
|
297
|
+
attr_reader :actual
|
298
|
+
|
299
|
+
# Exposes the exception raised during the matching by `match_unless_raises`.
|
300
|
+
# Could be useful to extract details for a failure message.
|
301
|
+
attr_reader :rescued_exception
|
285
302
|
|
286
303
|
# @api private
|
287
|
-
def initialize(name, declarations, *expected)
|
304
|
+
def initialize(name, declarations, matcher_execution_context, *expected)
|
288
305
|
@name = name
|
289
306
|
@actual = nil
|
290
307
|
@expected_as_array = expected
|
308
|
+
@matcher_execution_context = matcher_execution_context
|
291
309
|
|
292
310
|
class << self
|
293
311
|
# See `Macros#define_user_override` above, for an explanation.
|
@@ -296,6 +314,10 @@ module RSpec
|
|
296
314
|
end.class_exec(*expected, &declarations)
|
297
315
|
end
|
298
316
|
|
317
|
+
# Provides the expected value. This will return an array if
|
318
|
+
# multiple arguments were passed to the matcher; otherwise it
|
319
|
+
# will return a single value.
|
320
|
+
# @see #expected_as_array
|
299
321
|
def expected
|
300
322
|
if expected_as_array.size == 1
|
301
323
|
expected_as_array[0]
|
@@ -304,6 +326,12 @@ module RSpec
|
|
304
326
|
end
|
305
327
|
end
|
306
328
|
|
329
|
+
# Returns the expected value as an an array. This exists primarily
|
330
|
+
# to aid in upgrading from RSpec 2.x, since in RSpec 2, `expected`
|
331
|
+
# always returned an array.
|
332
|
+
# @see #expected
|
333
|
+
attr_reader :expected_as_array
|
334
|
+
|
307
335
|
# Adds the name (rather than a cryptic hex number)
|
308
336
|
# so we can identify an instance of
|
309
337
|
# the matcher in error messages (e.g. for `NoMethodError`)
|
@@ -313,16 +341,16 @@ module RSpec
|
|
313
341
|
|
314
342
|
if RUBY_VERSION.to_f >= 1.9
|
315
343
|
# Indicates that this matcher responds to messages
|
316
|
-
# from the
|
344
|
+
# from the `@matcher_execution_context` as well.
|
317
345
|
# Also, supports getting a method object for such methods.
|
318
346
|
def respond_to_missing?(method, include_private=false)
|
319
|
-
super || matcher_execution_context.respond_to?(method, include_private)
|
347
|
+
super || @matcher_execution_context.respond_to?(method, include_private)
|
320
348
|
end
|
321
349
|
else # for 1.8.7
|
322
350
|
# Indicates that this matcher responds to messages
|
323
|
-
# from the
|
351
|
+
# from the `@matcher_execution_context` as well.
|
324
352
|
def respond_to?(method, include_private=false)
|
325
|
-
super || matcher_execution_context.respond_to?(method, include_private)
|
353
|
+
super || @matcher_execution_context.respond_to?(method, include_private)
|
326
354
|
end
|
327
355
|
end
|
328
356
|
|
@@ -333,14 +361,14 @@ module RSpec
|
|
333
361
|
end
|
334
362
|
|
335
363
|
# Takes care of forwarding unhandled messages to the
|
336
|
-
#
|
364
|
+
# `@matcher_execution_context` (typically the current
|
337
365
|
# running `RSpec::Core::Example`). This is needed by
|
338
366
|
# rspec-rails so that it can define matchers that wrap
|
339
367
|
# Rails' test helper methods, but it's also a useful
|
340
368
|
# feature in its own right.
|
341
369
|
def method_missing(method, *args, &block)
|
342
|
-
if matcher_execution_context.respond_to?(method)
|
343
|
-
matcher_execution_context.__send__ method, *args, &block
|
370
|
+
if @matcher_execution_context.respond_to?(method)
|
371
|
+
@matcher_execution_context.__send__ method, *args, &block
|
344
372
|
else
|
345
373
|
super(method, *args, &block)
|
346
374
|
end
|
@@ -1,14 +1,21 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Matchers
|
3
3
|
class << self
|
4
|
+
# @private
|
4
5
|
attr_accessor :last_matcher, :last_expectation_handler
|
5
6
|
end
|
6
7
|
|
8
|
+
# @api private
|
9
|
+
# Used by rspec-core to clear the state used to generate
|
10
|
+
# descriptions after an example.
|
7
11
|
def self.clear_generated_description
|
8
12
|
self.last_matcher = nil
|
9
13
|
self.last_expectation_handler = nil
|
10
14
|
end
|
11
15
|
|
16
|
+
# @api private
|
17
|
+
# Generates an an example description based on the last expectation.
|
18
|
+
# Used by rspec-core's one-liner syntax.
|
12
19
|
def self.generated_description
|
13
20
|
return nil if last_expectation_handler.nil?
|
14
21
|
"#{last_expectation_handler.verb} #{last_description}"
|
@@ -1,8 +1,7 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Matchers
|
3
3
|
# Provides the necessary plumbing to wrap a matcher with a decorator.
|
4
|
-
#
|
5
|
-
# @api private
|
4
|
+
# @private
|
6
5
|
class MatcherDelegator
|
7
6
|
attr_reader :base_matcher
|
8
7
|
|
@@ -24,6 +23,11 @@ module RSpec
|
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
26
|
+
def initialize_copy(other)
|
27
|
+
@base_matcher = @base_matcher.clone
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
27
31
|
# So `===` is delegated via `method_missing`.
|
28
32
|
undef ===
|
29
33
|
undef ==
|
@@ -1,11 +1,18 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Matchers
|
3
|
+
# @api private
|
4
|
+
# Contains logic to facilitate converting ruby symbols and
|
5
|
+
# objects to english phrases.
|
3
6
|
module Pretty
|
7
|
+
# @api private
|
8
|
+
# Converts a symbol into an english expression.
|
4
9
|
def split_words(sym)
|
5
10
|
sym.to_s.gsub(/_/,' ')
|
6
11
|
end
|
7
12
|
module_function :split_words
|
8
13
|
|
14
|
+
# @api private
|
15
|
+
# Converts a collection of objects into an english expression.
|
9
16
|
def to_sentence(words)
|
10
17
|
return " #{words.inspect}" unless words
|
11
18
|
words = Array(words).map { |w| to_word(w) }
|
@@ -21,36 +28,25 @@ module RSpec
|
|
21
28
|
end
|
22
29
|
end
|
23
30
|
|
24
|
-
|
25
|
-
|
26
|
-
array.each_with_index do |item, index|
|
27
|
-
if index < (array.length - 2)
|
28
|
-
result << "#{item.inspect}, "
|
29
|
-
elsif index < (array.length - 1)
|
30
|
-
result << "#{item.inspect} and "
|
31
|
-
else
|
32
|
-
result << "#{item.inspect}"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
result
|
36
|
-
end
|
37
|
-
|
31
|
+
# @api private
|
32
|
+
# Converts the given item to string suitable for use in a list expression.
|
38
33
|
def to_word(item)
|
39
34
|
is_matcher_with_description?(item) ? item.description : item.inspect
|
40
35
|
end
|
41
36
|
|
37
|
+
# @private
|
38
|
+
# Provides an English expression for the matcher name.
|
42
39
|
def name_to_sentence
|
43
40
|
split_words(name)
|
44
41
|
end
|
45
42
|
|
46
|
-
|
47
|
-
|
48
|
-
end
|
49
|
-
|
43
|
+
# @api private
|
44
|
+
# Provides a name for the matcher.
|
50
45
|
def name
|
51
46
|
defined?(@name) ? @name : underscore(self.class.name.split("::").last)
|
52
47
|
end
|
53
48
|
|
49
|
+
# @private
|
54
50
|
# Borrowed from ActiveSupport
|
55
51
|
def underscore(camel_cased_word)
|
56
52
|
word = camel_cased_word.to_s.dup
|
@@ -61,7 +57,7 @@ module RSpec
|
|
61
57
|
word
|
62
58
|
end
|
63
59
|
|
64
|
-
|
60
|
+
private
|
65
61
|
|
66
62
|
def is_matcher_with_description?(object)
|
67
63
|
RSpec::Matchers.is_a_matcher?(object) && object.respond_to?(:description)
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-expectations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
5
|
-
prerelease: 6
|
4
|
+
version: 3.0.0.rc1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Steven Baker
|
@@ -11,153 +10,119 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain:
|
14
|
-
-
|
15
|
-
|
13
|
+
- |
|
14
|
+
-----BEGIN CERTIFICATE-----
|
16
15
|
MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl
|
17
|
-
|
18
16
|
Yy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk
|
19
|
-
|
20
17
|
ARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV
|
21
|
-
|
22
18
|
BAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK
|
23
|
-
|
24
19
|
CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
25
|
-
|
26
20
|
nhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs
|
27
|
-
|
28
21
|
F5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz
|
29
|
-
|
30
22
|
RUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD
|
31
|
-
|
32
23
|
JcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW
|
33
|
-
|
34
24
|
qgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A
|
35
|
-
|
36
25
|
+dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
|
37
|
-
|
38
26
|
AgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly
|
39
|
-
|
40
27
|
c3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn
|
41
|
-
|
42
28
|
b29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+
|
43
|
-
|
44
29
|
BaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ
|
45
|
-
|
46
30
|
FvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ
|
47
|
-
|
48
31
|
3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9
|
49
|
-
|
50
32
|
7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9
|
51
|
-
|
52
33
|
1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
|
53
|
-
|
54
34
|
muA=
|
55
|
-
|
56
35
|
-----END CERTIFICATE-----
|
57
|
-
|
58
|
-
'
|
59
|
-
date: 2014-02-18 00:00:00.000000000 Z
|
36
|
+
date: 2014-05-18 00:00:00.000000000 Z
|
60
37
|
dependencies:
|
61
38
|
- !ruby/object:Gem::Dependency
|
62
39
|
name: rspec-support
|
63
40
|
requirement: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
41
|
requirements:
|
66
42
|
- - '='
|
67
43
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.0.0.
|
44
|
+
version: 3.0.0.rc1
|
69
45
|
type: :runtime
|
70
46
|
prerelease: false
|
71
47
|
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
48
|
requirements:
|
74
49
|
- - '='
|
75
50
|
- !ruby/object:Gem::Version
|
76
|
-
version: 3.0.0.
|
51
|
+
version: 3.0.0.rc1
|
77
52
|
- !ruby/object:Gem::Dependency
|
78
53
|
name: diff-lcs
|
79
54
|
requirement: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
55
|
requirements:
|
82
|
-
- -
|
56
|
+
- - ">="
|
83
57
|
- !ruby/object:Gem::Version
|
84
58
|
version: 1.2.0
|
85
|
-
- - <
|
59
|
+
- - "<"
|
86
60
|
- !ruby/object:Gem::Version
|
87
61
|
version: '2.0'
|
88
62
|
type: :runtime
|
89
63
|
prerelease: false
|
90
64
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
65
|
requirements:
|
93
|
-
- -
|
66
|
+
- - ">="
|
94
67
|
- !ruby/object:Gem::Version
|
95
68
|
version: 1.2.0
|
96
|
-
- - <
|
69
|
+
- - "<"
|
97
70
|
- !ruby/object:Gem::Version
|
98
71
|
version: '2.0'
|
99
72
|
- !ruby/object:Gem::Dependency
|
100
73
|
name: rake
|
101
74
|
requirement: !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
75
|
requirements:
|
104
|
-
- - ~>
|
76
|
+
- - "~>"
|
105
77
|
- !ruby/object:Gem::Version
|
106
78
|
version: 10.0.0
|
107
79
|
type: :development
|
108
80
|
prerelease: false
|
109
81
|
version_requirements: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
82
|
requirements:
|
112
|
-
- - ~>
|
83
|
+
- - "~>"
|
113
84
|
- !ruby/object:Gem::Version
|
114
85
|
version: 10.0.0
|
115
86
|
- !ruby/object:Gem::Dependency
|
116
87
|
name: cucumber
|
117
88
|
requirement: !ruby/object:Gem::Requirement
|
118
|
-
none: false
|
119
89
|
requirements:
|
120
|
-
- - ~>
|
90
|
+
- - "~>"
|
121
91
|
- !ruby/object:Gem::Version
|
122
92
|
version: '1.3'
|
123
93
|
type: :development
|
124
94
|
prerelease: false
|
125
95
|
version_requirements: !ruby/object:Gem::Requirement
|
126
|
-
none: false
|
127
96
|
requirements:
|
128
|
-
- - ~>
|
97
|
+
- - "~>"
|
129
98
|
- !ruby/object:Gem::Version
|
130
99
|
version: '1.3'
|
131
100
|
- !ruby/object:Gem::Dependency
|
132
101
|
name: aruba
|
133
102
|
requirement: !ruby/object:Gem::Requirement
|
134
|
-
none: false
|
135
103
|
requirements:
|
136
|
-
- - ~>
|
104
|
+
- - "~>"
|
137
105
|
- !ruby/object:Gem::Version
|
138
106
|
version: '0.5'
|
139
107
|
type: :development
|
140
108
|
prerelease: false
|
141
109
|
version_requirements: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
110
|
requirements:
|
144
|
-
- - ~>
|
111
|
+
- - "~>"
|
145
112
|
- !ruby/object:Gem::Version
|
146
113
|
version: '0.5'
|
147
114
|
- !ruby/object:Gem::Dependency
|
148
115
|
name: minitest
|
149
116
|
requirement: !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
117
|
requirements:
|
152
|
-
- - ~>
|
118
|
+
- - "~>"
|
153
119
|
- !ruby/object:Gem::Version
|
154
120
|
version: '5.2'
|
155
121
|
type: :development
|
156
122
|
prerelease: false
|
157
123
|
version_requirements: !ruby/object:Gem::Requirement
|
158
|
-
none: false
|
159
124
|
requirements:
|
160
|
-
- - ~>
|
125
|
+
- - "~>"
|
161
126
|
- !ruby/object:Gem::Version
|
162
127
|
version: '5.2'
|
163
128
|
description: rspec-expectations provides a simple, readable API to express expected
|
@@ -167,11 +132,13 @@ executables: []
|
|
167
132
|
extensions: []
|
168
133
|
extra_rdoc_files: []
|
169
134
|
files:
|
170
|
-
-
|
135
|
+
- ".document"
|
136
|
+
- ".yardopts"
|
137
|
+
- Changelog.md
|
138
|
+
- License.txt
|
139
|
+
- README.md
|
171
140
|
- lib/rspec/expectations.rb
|
172
|
-
- lib/rspec/expectations/
|
173
|
-
- lib/rspec/expectations/differ.rb
|
174
|
-
- lib/rspec/expectations/encoded_string.rb
|
141
|
+
- lib/rspec/expectations/configuration.rb
|
175
142
|
- lib/rspec/expectations/expectation_target.rb
|
176
143
|
- lib/rspec/expectations/fail_with.rb
|
177
144
|
- lib/rspec/expectations/handler.rb
|
@@ -181,6 +148,7 @@ files:
|
|
181
148
|
- lib/rspec/matchers.rb
|
182
149
|
- lib/rspec/matchers/aliased_matcher.rb
|
183
150
|
- lib/rspec/matchers/built_in.rb
|
151
|
+
- lib/rspec/matchers/built_in/all.rb
|
184
152
|
- lib/rspec/matchers/built_in/base_matcher.rb
|
185
153
|
- lib/rspec/matchers/built_in/be.rb
|
186
154
|
- lib/rspec/matchers/built_in/be_between.rb
|
@@ -207,205 +175,34 @@ files:
|
|
207
175
|
- lib/rspec/matchers/built_in/throw_symbol.rb
|
208
176
|
- lib/rspec/matchers/built_in/yield.rb
|
209
177
|
- lib/rspec/matchers/composable.rb
|
210
|
-
- lib/rspec/matchers/configuration.rb
|
211
178
|
- lib/rspec/matchers/dsl.rb
|
212
179
|
- lib/rspec/matchers/generated_descriptions.rb
|
213
180
|
- lib/rspec/matchers/matcher_delegator.rb
|
214
181
|
- lib/rspec/matchers/pretty.rb
|
215
|
-
- README.md
|
216
|
-
- License.txt
|
217
|
-
- Changelog.md
|
218
|
-
- .yardopts
|
219
|
-
- .document
|
220
|
-
- features/README.md
|
221
|
-
- features/Upgrade.md
|
222
|
-
- features/built_in_matchers/README.md
|
223
|
-
- features/built_in_matchers/be.feature
|
224
|
-
- features/built_in_matchers/be_within.feature
|
225
|
-
- features/built_in_matchers/comparisons.feature
|
226
|
-
- features/built_in_matchers/contain_exactly.feature
|
227
|
-
- features/built_in_matchers/cover.feature
|
228
|
-
- features/built_in_matchers/end_with.feature
|
229
|
-
- features/built_in_matchers/equality.feature
|
230
|
-
- features/built_in_matchers/exist.feature
|
231
|
-
- features/built_in_matchers/expect_change.feature
|
232
|
-
- features/built_in_matchers/expect_error.feature
|
233
|
-
- features/built_in_matchers/include.feature
|
234
|
-
- features/built_in_matchers/match.feature
|
235
|
-
- features/built_in_matchers/output.feature
|
236
|
-
- features/built_in_matchers/predicates.feature
|
237
|
-
- features/built_in_matchers/respond_to.feature
|
238
|
-
- features/built_in_matchers/satisfy.feature
|
239
|
-
- features/built_in_matchers/start_with.feature
|
240
|
-
- features/built_in_matchers/throw_symbol.feature
|
241
|
-
- features/built_in_matchers/types.feature
|
242
|
-
- features/built_in_matchers/yield.feature
|
243
|
-
- features/composing_matchers.feature
|
244
|
-
- features/compound_expectations.feature
|
245
|
-
- features/custom_matchers/access_running_example.feature
|
246
|
-
- features/custom_matchers/define_diffable_matcher.feature
|
247
|
-
- features/custom_matchers/define_matcher.feature
|
248
|
-
- features/custom_matchers/define_matcher_outside_rspec.feature
|
249
|
-
- features/custom_matchers/define_matcher_with_fluent_interface.feature
|
250
|
-
- features/customized_message.feature
|
251
|
-
- features/diffing.feature
|
252
|
-
- features/implicit_docstrings.feature
|
253
|
-
- features/step_definitions/additional_cli_steps.rb
|
254
|
-
- features/support/env.rb
|
255
|
-
- features/support/rubinius.rb
|
256
|
-
- features/syntax_configuration.feature
|
257
|
-
- features/test_frameworks/minitest.feature
|
258
|
-
- spec/rspec/expectations/diff_presenter_spec.rb
|
259
|
-
- spec/rspec/expectations/encoded_string_spec.rb
|
260
|
-
- spec/rspec/expectations/expectation_target_spec.rb
|
261
|
-
- spec/rspec/expectations/extensions/kernel_spec.rb
|
262
|
-
- spec/rspec/expectations/fail_with_spec.rb
|
263
|
-
- spec/rspec/expectations/handler_spec.rb
|
264
|
-
- spec/rspec/expectations/minitest_integration_spec.rb
|
265
|
-
- spec/rspec/expectations/syntax_spec.rb
|
266
|
-
- spec/rspec/expectations_spec.rb
|
267
|
-
- spec/rspec/matchers/aliased_matcher_spec.rb
|
268
|
-
- spec/rspec/matchers/aliases_spec.rb
|
269
|
-
- spec/rspec/matchers/built_in/base_matcher_spec.rb
|
270
|
-
- spec/rspec/matchers/built_in/be_between_spec.rb
|
271
|
-
- spec/rspec/matchers/built_in/be_instance_of_spec.rb
|
272
|
-
- spec/rspec/matchers/built_in/be_kind_of_spec.rb
|
273
|
-
- spec/rspec/matchers/built_in/be_spec.rb
|
274
|
-
- spec/rspec/matchers/built_in/be_within_spec.rb
|
275
|
-
- spec/rspec/matchers/built_in/change_spec.rb
|
276
|
-
- spec/rspec/matchers/built_in/compound_spec.rb
|
277
|
-
- spec/rspec/matchers/built_in/contain_exactly_spec.rb
|
278
|
-
- spec/rspec/matchers/built_in/cover_spec.rb
|
279
|
-
- spec/rspec/matchers/built_in/eq_spec.rb
|
280
|
-
- spec/rspec/matchers/built_in/eql_spec.rb
|
281
|
-
- spec/rspec/matchers/built_in/equal_spec.rb
|
282
|
-
- spec/rspec/matchers/built_in/exist_spec.rb
|
283
|
-
- spec/rspec/matchers/built_in/has_spec.rb
|
284
|
-
- spec/rspec/matchers/built_in/include_spec.rb
|
285
|
-
- spec/rspec/matchers/built_in/match_spec.rb
|
286
|
-
- spec/rspec/matchers/built_in/operators_spec.rb
|
287
|
-
- spec/rspec/matchers/built_in/output_spec.rb
|
288
|
-
- spec/rspec/matchers/built_in/raise_error_spec.rb
|
289
|
-
- spec/rspec/matchers/built_in/respond_to_spec.rb
|
290
|
-
- spec/rspec/matchers/built_in/satisfy_spec.rb
|
291
|
-
- spec/rspec/matchers/built_in/start_and_end_with_spec.rb
|
292
|
-
- spec/rspec/matchers/built_in/throw_symbol_spec.rb
|
293
|
-
- spec/rspec/matchers/built_in/yield_spec.rb
|
294
|
-
- spec/rspec/matchers/configuration_spec.rb
|
295
|
-
- spec/rspec/matchers/description_generation_spec.rb
|
296
|
-
- spec/rspec/matchers/dsl_spec.rb
|
297
|
-
- spec/rspec/matchers/legacy_spec.rb
|
298
|
-
- spec/rspec/matchers_spec.rb
|
299
|
-
- spec/spec_helper.rb
|
300
|
-
- spec/support/matchers.rb
|
301
|
-
- spec/support/shared_examples.rb
|
302
182
|
homepage: http://github.com/rspec/rspec-expectations
|
303
183
|
licenses:
|
304
184
|
- MIT
|
185
|
+
metadata: {}
|
305
186
|
post_install_message:
|
306
187
|
rdoc_options:
|
307
|
-
- --charset=UTF-8
|
188
|
+
- "--charset=UTF-8"
|
308
189
|
require_paths:
|
309
190
|
- lib
|
310
191
|
required_ruby_version: !ruby/object:Gem::Requirement
|
311
|
-
none: false
|
312
192
|
requirements:
|
313
|
-
- -
|
193
|
+
- - ">="
|
314
194
|
- !ruby/object:Gem::Version
|
315
195
|
version: 1.8.7
|
316
196
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
317
|
-
none: false
|
318
197
|
requirements:
|
319
|
-
- -
|
198
|
+
- - ">"
|
320
199
|
- !ruby/object:Gem::Version
|
321
200
|
version: 1.3.1
|
322
201
|
requirements: []
|
323
202
|
rubyforge_project: rspec
|
324
|
-
rubygems_version:
|
203
|
+
rubygems_version: 2.2.2
|
325
204
|
signing_key:
|
326
|
-
specification_version:
|
327
|
-
summary: rspec-expectations-3.0.0.
|
328
|
-
test_files:
|
329
|
-
- features/README.md
|
330
|
-
- features/Upgrade.md
|
331
|
-
- features/built_in_matchers/README.md
|
332
|
-
- features/built_in_matchers/be.feature
|
333
|
-
- features/built_in_matchers/be_within.feature
|
334
|
-
- features/built_in_matchers/comparisons.feature
|
335
|
-
- features/built_in_matchers/contain_exactly.feature
|
336
|
-
- features/built_in_matchers/cover.feature
|
337
|
-
- features/built_in_matchers/end_with.feature
|
338
|
-
- features/built_in_matchers/equality.feature
|
339
|
-
- features/built_in_matchers/exist.feature
|
340
|
-
- features/built_in_matchers/expect_change.feature
|
341
|
-
- features/built_in_matchers/expect_error.feature
|
342
|
-
- features/built_in_matchers/include.feature
|
343
|
-
- features/built_in_matchers/match.feature
|
344
|
-
- features/built_in_matchers/output.feature
|
345
|
-
- features/built_in_matchers/predicates.feature
|
346
|
-
- features/built_in_matchers/respond_to.feature
|
347
|
-
- features/built_in_matchers/satisfy.feature
|
348
|
-
- features/built_in_matchers/start_with.feature
|
349
|
-
- features/built_in_matchers/throw_symbol.feature
|
350
|
-
- features/built_in_matchers/types.feature
|
351
|
-
- features/built_in_matchers/yield.feature
|
352
|
-
- features/composing_matchers.feature
|
353
|
-
- features/compound_expectations.feature
|
354
|
-
- features/custom_matchers/access_running_example.feature
|
355
|
-
- features/custom_matchers/define_diffable_matcher.feature
|
356
|
-
- features/custom_matchers/define_matcher.feature
|
357
|
-
- features/custom_matchers/define_matcher_outside_rspec.feature
|
358
|
-
- features/custom_matchers/define_matcher_with_fluent_interface.feature
|
359
|
-
- features/customized_message.feature
|
360
|
-
- features/diffing.feature
|
361
|
-
- features/implicit_docstrings.feature
|
362
|
-
- features/step_definitions/additional_cli_steps.rb
|
363
|
-
- features/support/env.rb
|
364
|
-
- features/support/rubinius.rb
|
365
|
-
- features/syntax_configuration.feature
|
366
|
-
- features/test_frameworks/minitest.feature
|
367
|
-
- spec/rspec/expectations/diff_presenter_spec.rb
|
368
|
-
- spec/rspec/expectations/encoded_string_spec.rb
|
369
|
-
- spec/rspec/expectations/expectation_target_spec.rb
|
370
|
-
- spec/rspec/expectations/extensions/kernel_spec.rb
|
371
|
-
- spec/rspec/expectations/fail_with_spec.rb
|
372
|
-
- spec/rspec/expectations/handler_spec.rb
|
373
|
-
- spec/rspec/expectations/minitest_integration_spec.rb
|
374
|
-
- spec/rspec/expectations/syntax_spec.rb
|
375
|
-
- spec/rspec/expectations_spec.rb
|
376
|
-
- spec/rspec/matchers/aliased_matcher_spec.rb
|
377
|
-
- spec/rspec/matchers/aliases_spec.rb
|
378
|
-
- spec/rspec/matchers/built_in/base_matcher_spec.rb
|
379
|
-
- spec/rspec/matchers/built_in/be_between_spec.rb
|
380
|
-
- spec/rspec/matchers/built_in/be_instance_of_spec.rb
|
381
|
-
- spec/rspec/matchers/built_in/be_kind_of_spec.rb
|
382
|
-
- spec/rspec/matchers/built_in/be_spec.rb
|
383
|
-
- spec/rspec/matchers/built_in/be_within_spec.rb
|
384
|
-
- spec/rspec/matchers/built_in/change_spec.rb
|
385
|
-
- spec/rspec/matchers/built_in/compound_spec.rb
|
386
|
-
- spec/rspec/matchers/built_in/contain_exactly_spec.rb
|
387
|
-
- spec/rspec/matchers/built_in/cover_spec.rb
|
388
|
-
- spec/rspec/matchers/built_in/eq_spec.rb
|
389
|
-
- spec/rspec/matchers/built_in/eql_spec.rb
|
390
|
-
- spec/rspec/matchers/built_in/equal_spec.rb
|
391
|
-
- spec/rspec/matchers/built_in/exist_spec.rb
|
392
|
-
- spec/rspec/matchers/built_in/has_spec.rb
|
393
|
-
- spec/rspec/matchers/built_in/include_spec.rb
|
394
|
-
- spec/rspec/matchers/built_in/match_spec.rb
|
395
|
-
- spec/rspec/matchers/built_in/operators_spec.rb
|
396
|
-
- spec/rspec/matchers/built_in/output_spec.rb
|
397
|
-
- spec/rspec/matchers/built_in/raise_error_spec.rb
|
398
|
-
- spec/rspec/matchers/built_in/respond_to_spec.rb
|
399
|
-
- spec/rspec/matchers/built_in/satisfy_spec.rb
|
400
|
-
- spec/rspec/matchers/built_in/start_and_end_with_spec.rb
|
401
|
-
- spec/rspec/matchers/built_in/throw_symbol_spec.rb
|
402
|
-
- spec/rspec/matchers/built_in/yield_spec.rb
|
403
|
-
- spec/rspec/matchers/configuration_spec.rb
|
404
|
-
- spec/rspec/matchers/description_generation_spec.rb
|
405
|
-
- spec/rspec/matchers/dsl_spec.rb
|
406
|
-
- spec/rspec/matchers/legacy_spec.rb
|
407
|
-
- spec/rspec/matchers_spec.rb
|
408
|
-
- spec/spec_helper.rb
|
409
|
-
- spec/support/matchers.rb
|
410
|
-
- spec/support/shared_examples.rb
|
205
|
+
specification_version: 4
|
206
|
+
summary: rspec-expectations-3.0.0.rc1
|
207
|
+
test_files: []
|
411
208
|
has_rdoc:
|