rspec-mocks 3.0.0.rc1 → 3.0.0
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 +14 -6
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +30 -1
- data/lib/rspec/mocks/any_instance/recorder.rb +4 -4
- data/lib/rspec/mocks/error_generator.rb +22 -8
- data/lib/rspec/mocks/instance_method_stasher.rb +3 -3
- data/lib/rspec/mocks/message_expectation.rb +3 -3
- data/lib/rspec/mocks/method_double.rb +2 -2
- data/lib/rspec/mocks/mutate_const.rb +21 -9
- data/lib/rspec/mocks/proxy.rb +15 -9
- data/lib/rspec/mocks/space.rb +5 -2
- data/lib/rspec/mocks/version.rb +1 -1
- metadata +53 -46
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NGVjNjIxMDkzYzYzOGM1NTJlY2NlNmU4NDU4MzFiMDg5ZDkwODRmZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MmY5NWExM2FkYmFlNWQxOWU3ZmZiZjQzYmY2ZTI1MjRmNjNlYWZhMA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MzhiNTZkYzg1ZjZhN2Y2NGU3ZTRkOGQwNWNiZmUzNzc0NzEyODZmN2UxMjY5
|
10
|
+
NmYwODNhZGNiNGZmNWM5YzBkYzY5NDU4YWRiZTFhODhiNTVmMTVjNjNjNDA4
|
11
|
+
ODVjZjRjNTQzNGUwOWM1Y2NiMTY1MDdjYWUxMmNmMDc3NWQwZmI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDQ0MDBhZDE0NzkyNzRjODFjNmZiOWExNzU3NWJmZjU4ZTFhMzAyYzlkNTk0
|
14
|
+
ZDIxNjZhODk0ODI2MjY1OTFkNTljYTk0N2ZkMDBhNTcwNTk5MTc1Yzg1MDhj
|
15
|
+
ZTczN2Q2M2I3YjgxNTg4YzhiM2FmMzliZGNiM2MxNTE4OTJhYjE=
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Changelog.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
### 3.0.0 / 2014-06-01
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.rc1...v3.0.0)
|
3
|
+
|
4
|
+
Bug Fixes:
|
5
|
+
|
6
|
+
* Fix module prepend detection to work properly on ruby 2.0 for a case
|
7
|
+
where a module is extended onto itself. (Myron Marston)
|
8
|
+
* Fix `transfer_nested_constants` option so that transferred constants
|
9
|
+
get properly reset at the end of the example. (Myron Marston)
|
10
|
+
* Fix `config.transfer_nested_constants = true` so that you don't
|
11
|
+
erroneously get errors when stubbing a constant that is not a module
|
12
|
+
or a class. (Myron Marston)
|
13
|
+
* Fix regression that caused `double(:class => SomeClass)` to later
|
14
|
+
trigger infinite recursion. (Myron Marston)
|
15
|
+
* Fix bug in `have_received(...).with(...).ordered` where it was not
|
16
|
+
taking the args into account when checking the order. (Myron Marston)
|
17
|
+
* Fix bug in `have_received(...).ordered` where it was wrongly
|
18
|
+
considering stubs when checking the order. (Myron Marston)
|
19
|
+
* Message expectation matchers now show descriptions from argument
|
20
|
+
matchers when their expectations aren't met. (Jon Rowe)
|
21
|
+
* Display warning when encountering `TypeError` during instance method
|
22
|
+
staging on 2.0.0-p195, suffers from https://bugs.ruby-lang.org/issues/8686
|
23
|
+
too. (Cezar Halmagean).
|
24
|
+
|
1
25
|
### 3.0.0.rc1 / 2014-05-18
|
2
26
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.beta2...v3.0.0.rc1)
|
3
27
|
|
@@ -117,7 +141,7 @@ Bug Fixes:
|
|
117
141
|
behavior. (Maurício Linhares)
|
118
142
|
|
119
143
|
### 3.0.0.beta1 / 2013-11-07
|
120
|
-
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0
|
144
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0...v3.0.0.beta1)
|
121
145
|
|
122
146
|
Breaking Changes for 3.0.0:
|
123
147
|
|
@@ -180,6 +204,11 @@ Bug Fixes:
|
|
180
204
|
returns `nil` or `''` so that you still get a useful message.
|
181
205
|
(Nick DeLuca)
|
182
206
|
|
207
|
+
### 2.99.0 / 2014-06-01
|
208
|
+
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.rc1...v2.99.0)
|
209
|
+
|
210
|
+
No changes. Just taking it out of pre-release.
|
211
|
+
|
183
212
|
### 2.99.0.rc1 / 2014-05-18
|
184
213
|
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.beta2...v2.99.0.rc1)
|
185
214
|
|
@@ -226,18 +226,18 @@ module RSpec
|
|
226
226
|
stop_observing!(method_name) if already_observing?(method_name)
|
227
227
|
@observed_methods << method_name
|
228
228
|
backup_method!(method_name)
|
229
|
+
recorder = self
|
229
230
|
@klass.__send__(:define_method, method_name) do |*args, &blk|
|
230
|
-
|
231
|
-
::RSpec::Mocks.space.any_instance_recorder_for(klass).playback!(self, method_name)
|
231
|
+
recorder.playback!(self, method_name)
|
232
232
|
self.__send__(method_name, *args, &blk)
|
233
233
|
end
|
234
234
|
end
|
235
235
|
|
236
236
|
def mark_invoked!(method_name)
|
237
237
|
backup_method!(method_name)
|
238
|
+
recorder = self
|
238
239
|
@klass.__send__(:define_method, method_name) do |*args, &blk|
|
239
|
-
|
240
|
-
invoked_instance = ::RSpec::Mocks.space.any_instance_recorder_for(klass).instance_that_received(method_name)
|
240
|
+
invoked_instance = recorder.instance_that_received(method_name)
|
241
241
|
inspect = "#<#{self.class}:#{object_id} #{instance_variables.map { |name| "#{name}=#{instance_variable_get name}" }.join(', ')}>"
|
242
242
|
raise RSpec::Mocks::MockExpectationError, "The message '#{method_name}' was received by #{inspect} but has already been received by #{invoked_instance}"
|
243
243
|
end
|
@@ -96,13 +96,33 @@ module RSpec
|
|
96
96
|
# @private
|
97
97
|
def received_part_of_expectation_error(actual_received_count, *args)
|
98
98
|
"received: #{count_message(actual_received_count)}" +
|
99
|
-
|
99
|
+
actual_method_call_args_description(actual_received_count, args)
|
100
100
|
end
|
101
101
|
|
102
102
|
# @private
|
103
103
|
def expected_part_of_expectation_error(expected_received_count, expectation_count_type, argument_list_matcher)
|
104
104
|
"expected: #{count_message(expected_received_count, expectation_count_type)}" +
|
105
|
-
|
105
|
+
expected_method_call_args_description(argument_list_matcher.expected_args)
|
106
|
+
end
|
107
|
+
|
108
|
+
# @private
|
109
|
+
def actual_method_call_args_description(count, args)
|
110
|
+
method_call_args_description(args) ||
|
111
|
+
if count > 0 && args.length > 0
|
112
|
+
" with arguments: #{args.inspect.gsub(/\A\[(.+)\]\z/, '(\1)')}"
|
113
|
+
else
|
114
|
+
""
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
# @private
|
119
|
+
def expected_method_call_args_description(args)
|
120
|
+
method_call_args_description(args) ||
|
121
|
+
if args.length > 0
|
122
|
+
" with arguments: #{format_args(*args)}"
|
123
|
+
else
|
124
|
+
""
|
125
|
+
end
|
106
126
|
end
|
107
127
|
|
108
128
|
# @private
|
@@ -113,12 +133,6 @@ module RSpec
|
|
113
133
|
when ArgumentMatchers::NoArgsMatcher
|
114
134
|
return " with no arguments"
|
115
135
|
end
|
116
|
-
|
117
|
-
if args.length > 0
|
118
|
-
" with arguments: #{args.inspect.gsub(/\A\[(.+)\]\z/, '(\1)')}"
|
119
|
-
else
|
120
|
-
""
|
121
|
-
end
|
122
136
|
end
|
123
137
|
|
124
138
|
# @private
|
@@ -73,15 +73,15 @@ module RSpec
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
if RUBY_DESCRIPTION.include?('2.0.0p247')
|
77
|
-
# ruby 2.0.0-p247
|
76
|
+
if RUBY_DESCRIPTION.include?('2.0.0p247') || RUBY_DESCRIPTION.include?('2.0.0p195')
|
77
|
+
# ruby 2.0.0-p247 and 2.0.0-p195 both have a bug that we can't work around :(.
|
78
78
|
# https://bugs.ruby-lang.org/issues/8686
|
79
79
|
def handle_restoration_failures
|
80
80
|
yield
|
81
81
|
rescue TypeError
|
82
82
|
RSpec.warn_with(
|
83
83
|
"RSpec failed to properly restore a partial double (#{@object.inspect}) " +
|
84
|
-
"to its original state due to a known bug in MRI 2.0.0-p247 " +
|
84
|
+
"to its original state due to a known bug in MRI 2.0.0-p195 & p247 " +
|
85
85
|
"(https://bugs.ruby-lang.org/issues/8686). This object may remain " +
|
86
86
|
"screwed up for the rest of this process. Please upgrade to 2.0.0-p353 or above.",
|
87
87
|
:call_site => nil, :use_spec_location_as_call_site => true
|
@@ -47,7 +47,7 @@ module RSpec
|
|
47
47
|
|
48
48
|
# @private
|
49
49
|
def initialize(error_generator, expectation_ordering, expected_from, method_double,
|
50
|
-
|
50
|
+
type=:expectation, opts={}, &implementation_block)
|
51
51
|
@error_generator = error_generator
|
52
52
|
@error_generator.opts = opts
|
53
53
|
@expected_from = expected_from
|
@@ -55,10 +55,10 @@ module RSpec
|
|
55
55
|
@orig_object = @method_double.object
|
56
56
|
@message = @method_double.method_name
|
57
57
|
@actual_received_count = 0
|
58
|
-
@expected_received_count =
|
58
|
+
@expected_received_count = type == :expectation ? 1 : :any
|
59
59
|
@argument_list_matcher = ArgumentListMatcher::MATCH_ALL
|
60
60
|
@order_group = expectation_ordering
|
61
|
-
@order_group.register(self)
|
61
|
+
@order_group.register(self) unless type == :stub
|
62
62
|
@ordered = false
|
63
63
|
@at_least = @at_most = @exactly = nil
|
64
64
|
@args_to_yield = []
|
@@ -134,7 +134,7 @@ module RSpec
|
|
134
134
|
def add_expectation(error_generator, expectation_ordering, expected_from, opts, &implementation)
|
135
135
|
configure_method
|
136
136
|
expectation = message_expectation_class.new(error_generator, expectation_ordering,
|
137
|
-
expected_from, self,
|
137
|
+
expected_from, self, :expectation, opts, &implementation)
|
138
138
|
expectations << expectation
|
139
139
|
expectation
|
140
140
|
end
|
@@ -149,7 +149,7 @@ module RSpec
|
|
149
149
|
def add_stub(error_generator, expectation_ordering, expected_from, opts={}, &implementation)
|
150
150
|
configure_method
|
151
151
|
stub = message_expectation_class.new(error_generator, expectation_ordering, expected_from,
|
152
|
-
self, :
|
152
|
+
self, :stub, opts, &implementation)
|
153
153
|
stubs.unshift stub
|
154
154
|
stub
|
155
155
|
end
|
@@ -174,10 +174,7 @@ module RSpec
|
|
174
174
|
UndefinedConstantSetter
|
175
175
|
end
|
176
176
|
|
177
|
-
mutate(mutator.new(constant_name, value, options
|
178
|
-
:transfer_nested_constants,
|
179
|
-
RSpec::Mocks.configuration.transfer_nested_constants?
|
180
|
-
)))
|
177
|
+
mutate(mutator.new(constant_name, value, options[:transfer_nested_constants]))
|
181
178
|
value
|
182
179
|
end
|
183
180
|
|
@@ -257,16 +254,21 @@ module RSpec
|
|
257
254
|
#
|
258
255
|
# @private
|
259
256
|
class DefinedConstantReplacer < BaseMutator
|
257
|
+
def initialize(*args)
|
258
|
+
super
|
259
|
+
@constants_to_transfer = []
|
260
|
+
end
|
261
|
+
|
260
262
|
def mutate
|
261
263
|
@context = recursive_const_get(@context_parts.join('::'))
|
262
264
|
@original_value = get_const_defined_on(@context, @const_name)
|
263
265
|
|
264
|
-
constants_to_transfer = verify_constants_to_transfer!
|
266
|
+
@constants_to_transfer = verify_constants_to_transfer!
|
265
267
|
|
266
268
|
@context.__send__(:remove_const, @const_name)
|
267
269
|
@context.const_set(@const_name, @mutated_value)
|
268
270
|
|
269
|
-
transfer_nested_constants
|
271
|
+
transfer_nested_constants
|
270
272
|
end
|
271
273
|
|
272
274
|
def to_constant
|
@@ -278,18 +280,22 @@ module RSpec
|
|
278
280
|
end
|
279
281
|
|
280
282
|
def reset
|
283
|
+
@constants_to_transfer.each do |const|
|
284
|
+
@mutated_value.__send__(:remove_const, const)
|
285
|
+
end
|
286
|
+
|
281
287
|
@context.__send__(:remove_const, @const_name)
|
282
288
|
@context.const_set(@const_name, @original_value)
|
283
289
|
end
|
284
290
|
|
285
|
-
def transfer_nested_constants
|
286
|
-
|
291
|
+
def transfer_nested_constants
|
292
|
+
@constants_to_transfer.each do |const|
|
287
293
|
@mutated_value.const_set(const, get_const_defined_on(original_value, const))
|
288
294
|
end
|
289
295
|
end
|
290
296
|
|
291
297
|
def verify_constants_to_transfer!
|
292
|
-
return [] unless
|
298
|
+
return [] unless should_transfer_nested_constants?
|
293
299
|
|
294
300
|
{ @original_value => "the original value", @mutated_value => "the stubbed value" }.each do |value, description|
|
295
301
|
unless value.respond_to?(:constants)
|
@@ -317,6 +323,12 @@ module RSpec
|
|
317
323
|
constants_defined_on(@original_value)
|
318
324
|
end
|
319
325
|
end
|
326
|
+
|
327
|
+
def should_transfer_nested_constants?
|
328
|
+
return true if @transfer_nested_constants
|
329
|
+
return false unless RSpec::Mocks.configuration.transfer_nested_constants?
|
330
|
+
@original_value.respond_to?(:constants) && @mutated_value.respond_to?(:constants)
|
331
|
+
end
|
320
332
|
end
|
321
333
|
|
322
334
|
# Sets an undefined constant for the duration of an example.
|
data/lib/rspec/mocks/proxy.rb
CHANGED
@@ -2,9 +2,9 @@ module RSpec
|
|
2
2
|
module Mocks
|
3
3
|
# @private
|
4
4
|
class Proxy
|
5
|
-
SpecificMessage = Struct.new(:object
|
5
|
+
SpecificMessage = Struct.new(:object, :message, :args) do
|
6
6
|
def ==(expectation)
|
7
|
-
expectation.orig_object == object && expectation.message
|
7
|
+
expectation.orig_object == object && expectation.matches?(message, *args)
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
@@ -144,7 +144,7 @@ module RSpec
|
|
144
144
|
|
145
145
|
# @private
|
146
146
|
def record_message_received(message, *args, &block)
|
147
|
-
@order_group.invoked SpecificMessage.new(object, message)
|
147
|
+
@order_group.invoked SpecificMessage.new(object, message, args)
|
148
148
|
@messages_received << [message, args, block]
|
149
149
|
end
|
150
150
|
|
@@ -152,10 +152,6 @@ module RSpec
|
|
152
152
|
def message_received(message, *args, &block)
|
153
153
|
record_message_received message, *args, &block
|
154
154
|
|
155
|
-
RSpec::Mocks.space.any_instance_recorders_from_ancestry_of(object).each do |subscriber|
|
156
|
-
subscriber.notify_received_message(object, message, args, block)
|
157
|
-
end
|
158
|
-
|
159
155
|
expectation = find_matching_expectation(message, *args)
|
160
156
|
stub = find_matching_method_stub(message, *args)
|
161
157
|
|
@@ -206,7 +202,7 @@ module RSpec
|
|
206
202
|
@prepended_modules_of_singleton_class ||= begin
|
207
203
|
singleton_class = @object.singleton_class
|
208
204
|
singleton_class.ancestors.take_while do |mod|
|
209
|
-
!(Class === mod)
|
205
|
+
!(Class === mod || @object.equal?(mod))
|
210
206
|
end
|
211
207
|
end
|
212
208
|
end
|
@@ -298,10 +294,20 @@ module RSpec
|
|
298
294
|
super
|
299
295
|
end
|
300
296
|
|
297
|
+
def message_received(message, *args, &block)
|
298
|
+
RSpec::Mocks.space.any_instance_recorders_from_ancestry_of(object).each do |subscriber|
|
299
|
+
subscriber.notify_received_message(object, message, args, block)
|
300
|
+
end
|
301
|
+
super
|
302
|
+
end
|
303
|
+
|
301
304
|
private
|
302
305
|
|
303
306
|
def any_instance_class_recorder_observing_method?(klass, method_name)
|
304
|
-
|
307
|
+
only_return_existing = true
|
308
|
+
recorder = ::RSpec::Mocks.space.any_instance_recorder_for(klass, only_return_existing)
|
309
|
+
return true if recorder && recorder.already_observing?(method_name)
|
310
|
+
|
305
311
|
superklass = klass.superclass
|
306
312
|
return false if superklass.nil?
|
307
313
|
any_instance_class_recorder_observing_method?(superklass, method_name)
|
data/lib/rspec/mocks/space.rb
CHANGED
@@ -84,10 +84,11 @@ module RSpec
|
|
84
84
|
@constant_mutators.find { |m| m.full_constant_name == name }
|
85
85
|
end
|
86
86
|
|
87
|
-
def any_instance_recorder_for(klass)
|
87
|
+
def any_instance_recorder_for(klass, only_return_existing = false)
|
88
88
|
any_instance_mutex.synchronize do
|
89
89
|
id = klass.__id__
|
90
90
|
any_instance_recorders.fetch(id) do
|
91
|
+
return nil if only_return_existing
|
91
92
|
any_instance_recorder_not_found_for(id, klass)
|
92
93
|
end
|
93
94
|
end
|
@@ -121,7 +122,9 @@ module RSpec
|
|
121
122
|
# ancestors in the object's class hierarchy.
|
122
123
|
return [] if any_instance_recorders.empty?
|
123
124
|
|
124
|
-
|
125
|
+
# We access the ancestors through the singleton class, to avoid calling
|
126
|
+
# `class` in case `class` has been stubbed.
|
127
|
+
(class << object; ancestors; end).map do |klass|
|
125
128
|
any_instance_recorders[klass.__id__]
|
126
129
|
end.compact
|
127
130
|
end
|
data/lib/rspec/mocks/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-mocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Baker
|
@@ -10,85 +10,92 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain:
|
13
|
-
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
13
|
+
- !binary |-
|
14
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqakNDQW5hZ0F3SUJB
|
15
|
+
Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJHTVJJd0VBWURWUVFEREFseWMz
|
16
|
+
QmwKWXkxa1pYWXhHekFaQmdvSmtpYUprL0lzWkFFWkZndG5iMjluYkdWbmIz
|
17
|
+
VndjekVUTUJFR0NnbVNKb21UOGl4awpBUmtXQTJOdmJUQWVGdzB4TXpFeE1E
|
18
|
+
Y3hPVFF5TlRsYUZ3MHhOREV4TURjeE9UUXlOVGxhTUVZeEVqQVFCZ05WCkJB
|
19
|
+
TU1DWEp6Y0dWakxXUmxkakViTUJrR0NnbVNKb21UOGl4a0FSa1dDMmR2YjJk
|
20
|
+
c1pXZHZkWEJ6TVJNd0VRWUsKQ1pJbWlaUHlMR1FCR1JZRFkyOXRNSUlCSWpB
|
21
|
+
TkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQpuaENlWm91
|
22
|
+
RExYV081NW5vK0VkWk5DdGpYamZKUTFYOVRiUGN2QkREMjlPeXBJVWNlMmgv
|
23
|
+
VmRLWEIyZ0k3WkhzCkY1TmtQZ2dzbFRFckdGbVdBdElpdXI3dTk0M1JWcUhP
|
24
|
+
c3lvSXN5MDY1RjlmQ3RyeWtrQSsyMmVsdlREaGE0SXoKUlVDdnVoUTNrbGF0
|
25
|
+
WWs0akYrY0d0MWpOT05OVmRMT2l5MGJNeW52Y003aG9WUTJBb213R3MrY0VP
|
26
|
+
V1EvNGRrRApKY05WM3FmekY1UUJjVEQyMzcyWE5NNTNiMjVuWVZRU1gyS0g1
|
27
|
+
RkY3QmhsS3lvdjMzYk9tMmdBOU0rbVdJdWpXCnFna3l4VmxmcmxFK1pCZ1Yz
|
28
|
+
d1huMUNvamcxTHBUcTM1eU9Bcmd3aW95cnd3bFpaSlI5am9OOXMvbkRrbGZy
|
29
|
+
NUEKK2R5RVRqRmM2Y21FUFdacnQyY0pCUUlEQVFBQm80R0dNSUdETUFrR0Ex
|
30
|
+
VWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1N3TUIwR0ExVWREZ1FXQkJTVytX
|
31
|
+
RDdobjFzd0oxQTdpOHRidUZldU5DSkNqQWtCZ05WSFJFRUhUQWJnUmx5CmMz
|
32
|
+
QmxZeTFrWlhaQVoyOXZaMnhsWjI5MWNITXVZMjl0TUNRR0ExVWRFZ1FkTUJ1
|
33
|
+
QkdYSnpjR1ZqTFdSbGRrQm4KYjI5bmJHVm5iM1Z3Y3k1amIyMHdEUVlKS29a
|
34
|
+
SWh2Y05BUUVGQlFBRGdnRUJBSDI3akFaOHNEN3ZuWHVwajZZKwpCYUJkZkh0
|
35
|
+
Q2tGYXNsTEowYUt1TURJVlh3WXVLZnFvVzE1Y1pQRExtU0lFQnVRRk0zbHc2
|
36
|
+
ZC9oRUVMNFVvMmpaCkZ2dG1INU94aWZQRHpGeVV0Q0w0eXA2cWdOZS9YZjZz
|
37
|
+
RHNSZzZGbUtjcGdxQ3dOT21zVmlhZjBMUFNVSC9HWVEKM1Rlb3o4UUNhRGJE
|
38
|
+
N0FLc2ZmVDdlRHJuYkhuS3dlTzFYZGVtUkpDOTh1L3lZeG5Hek1TV0tFc24w
|
39
|
+
OWV0QmxaOQo3SDY3azVaM3VmNmNmTFpnVG9XTDZ6U2h6WlkzTnVuNXI3M1lz
|
40
|
+
TmYyL1FaT2U0VVplNHZmR3ZuNmJhdzUzeXM5CjF5SEMxQWNTWXB2aTJkQWJP
|
41
|
+
aUhUNWlRRitrcm00d3NlOEtjdFhnVE5uak1zSEVvR0t1bEpTMi9zWmw5MGpj
|
42
|
+
Q3oKbXVBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
43
|
+
date: 2014-06-02 00:00:00.000000000 Z
|
37
44
|
dependencies:
|
38
45
|
- !ruby/object:Gem::Dependency
|
39
46
|
name: rspec-support
|
40
47
|
requirement: !ruby/object:Gem::Requirement
|
41
48
|
requirements:
|
42
|
-
- -
|
49
|
+
- - ~>
|
43
50
|
- !ruby/object:Gem::Version
|
44
|
-
version: 3.0.0
|
51
|
+
version: 3.0.0
|
45
52
|
type: :runtime
|
46
53
|
prerelease: false
|
47
54
|
version_requirements: !ruby/object:Gem::Requirement
|
48
55
|
requirements:
|
49
|
-
- -
|
56
|
+
- - ~>
|
50
57
|
- !ruby/object:Gem::Version
|
51
|
-
version: 3.0.0
|
58
|
+
version: 3.0.0
|
52
59
|
- !ruby/object:Gem::Dependency
|
53
60
|
name: rake
|
54
61
|
requirement: !ruby/object:Gem::Requirement
|
55
62
|
requirements:
|
56
|
-
- -
|
63
|
+
- - ~>
|
57
64
|
- !ruby/object:Gem::Version
|
58
65
|
version: 10.0.0
|
59
66
|
type: :development
|
60
67
|
prerelease: false
|
61
68
|
version_requirements: !ruby/object:Gem::Requirement
|
62
69
|
requirements:
|
63
|
-
- -
|
70
|
+
- - ~>
|
64
71
|
- !ruby/object:Gem::Version
|
65
72
|
version: 10.0.0
|
66
73
|
- !ruby/object:Gem::Dependency
|
67
74
|
name: cucumber
|
68
75
|
requirement: !ruby/object:Gem::Requirement
|
69
76
|
requirements:
|
70
|
-
- -
|
77
|
+
- - ~>
|
71
78
|
- !ruby/object:Gem::Version
|
72
79
|
version: 1.1.9
|
73
80
|
type: :development
|
74
81
|
prerelease: false
|
75
82
|
version_requirements: !ruby/object:Gem::Requirement
|
76
83
|
requirements:
|
77
|
-
- -
|
84
|
+
- - ~>
|
78
85
|
- !ruby/object:Gem::Version
|
79
86
|
version: 1.1.9
|
80
87
|
- !ruby/object:Gem::Dependency
|
81
88
|
name: aruba
|
82
89
|
requirement: !ruby/object:Gem::Requirement
|
83
90
|
requirements:
|
84
|
-
- -
|
91
|
+
- - ~>
|
85
92
|
- !ruby/object:Gem::Version
|
86
93
|
version: '0.5'
|
87
94
|
type: :development
|
88
95
|
prerelease: false
|
89
96
|
version_requirements: !ruby/object:Gem::Requirement
|
90
97
|
requirements:
|
91
|
-
- -
|
98
|
+
- - ~>
|
92
99
|
- !ruby/object:Gem::Version
|
93
100
|
version: '0.5'
|
94
101
|
description: RSpec's 'test double' framework, with support for stubbing and mocking
|
@@ -97,11 +104,6 @@ executables: []
|
|
97
104
|
extensions: []
|
98
105
|
extra_rdoc_files: []
|
99
106
|
files:
|
100
|
-
- ".document"
|
101
|
-
- ".yardopts"
|
102
|
-
- Changelog.md
|
103
|
-
- License.txt
|
104
|
-
- README.md
|
105
107
|
- lib/rspec/mocks.rb
|
106
108
|
- lib/rspec/mocks/any_instance.rb
|
107
109
|
- lib/rspec/mocks/any_instance/chain.rb
|
@@ -141,30 +143,35 @@ files:
|
|
141
143
|
- lib/rspec/mocks/verifying_message_expecation.rb
|
142
144
|
- lib/rspec/mocks/verifying_proxy.rb
|
143
145
|
- lib/rspec/mocks/version.rb
|
146
|
+
- README.md
|
147
|
+
- License.txt
|
148
|
+
- Changelog.md
|
149
|
+
- .yardopts
|
150
|
+
- .document
|
144
151
|
homepage: http://github.com/rspec/rspec-mocks
|
145
152
|
licenses:
|
146
153
|
- MIT
|
147
154
|
metadata: {}
|
148
155
|
post_install_message:
|
149
156
|
rdoc_options:
|
150
|
-
-
|
157
|
+
- --charset=UTF-8
|
151
158
|
require_paths:
|
152
159
|
- lib
|
153
160
|
required_ruby_version: !ruby/object:Gem::Requirement
|
154
161
|
requirements:
|
155
|
-
- -
|
162
|
+
- - ! '>='
|
156
163
|
- !ruby/object:Gem::Version
|
157
164
|
version: 1.8.7
|
158
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
166
|
requirements:
|
160
|
-
- -
|
167
|
+
- - ! '>='
|
161
168
|
- !ruby/object:Gem::Version
|
162
|
-
version:
|
169
|
+
version: '0'
|
163
170
|
requirements: []
|
164
171
|
rubyforge_project: rspec
|
165
|
-
rubygems_version: 2.
|
172
|
+
rubygems_version: 2.0.7
|
166
173
|
signing_key:
|
167
174
|
specification_version: 4
|
168
|
-
summary: rspec-mocks-3.0.0
|
175
|
+
summary: rspec-mocks-3.0.0
|
169
176
|
test_files: []
|
170
177
|
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|