rspec-mocks 3.0.0.rc1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a86bf7c23da1fbf0a99c66b3703b28db668c13a5
4
- data.tar.gz: 497e3567be89dc6f1e1b537675c52cbdefdbfafb
5
- SHA512:
6
- metadata.gz: fd064398848570d18ea7156286a0c4374540580c9f71a8ea7cdbf8707cc9b5cdec680b9f48d1f3af29b02b72872f51a2f11f953bc0c5b9c670b132d874f2d4f7
7
- data.tar.gz: ebf097e7564b3720fb716827266343e39a3f79c5a8b6ccc57d5f3253715623a09231439631a946f74b2a9705083dff8a6d2037dfe90d0d4f2e4329bde64b82d4
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=
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -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.rc1...v3.0.0.beta1)
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
- klass = ::RSpec::Support.method_handle_for(self, method_name).owner
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
- klass = ::RSpec::Support.method_handle_for(self, method_name).owner
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
- method_call_args_description(args)
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
- method_call_args_description(argument_list_matcher.expected_args)
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 has a bug that we can't work around :(.
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
- expected_received_count=1, opts={}, &implementation_block)
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 = 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, 1, opts, &implementation)
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, :any, opts, &implementation)
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.fetch(
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(constants_to_transfer)
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(constants)
286
- constants.each do |const|
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 @transfer_nested_constants
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.
@@ -2,9 +2,9 @@ module RSpec
2
2
  module Mocks
3
3
  # @private
4
4
  class Proxy
5
- SpecificMessage = Struct.new(:object,:message) do
5
+ SpecificMessage = Struct.new(:object, :message, :args) do
6
6
  def ==(expectation)
7
- expectation.orig_object == object && expectation.message == 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
- return true if ::RSpec::Mocks.space.any_instance_recorder_for(klass).already_observing?(method_name)
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)
@@ -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
- object.class.ancestors.map do |klass|
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
@@ -3,7 +3,7 @@ module RSpec
3
3
  # Version information for RSpec mocks.
4
4
  module Version
5
5
  # Version of RSpec mocks currently in use in SemVer format.
6
- STRING = '3.0.0.rc1'
6
+ STRING = '3.0.0'
7
7
  end
8
8
  end
9
9
  end
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.rc1
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
- -----BEGIN CERTIFICATE-----
15
- MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl
16
- Yy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk
17
- ARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV
18
- BAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK
19
- CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
20
- nhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs
21
- F5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz
22
- RUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD
23
- JcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW
24
- qgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A
25
- +dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
26
- AgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly
27
- c3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn
28
- b29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+
29
- BaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ
30
- FvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ
31
- 3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9
32
- 7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9
33
- 1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz
34
- muA=
35
- -----END CERTIFICATE-----
36
- date: 2014-05-18 00:00:00.000000000 Z
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.rc1
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.rc1
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
- - "--charset=UTF-8"
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: 1.3.1
169
+ version: '0'
163
170
  requirements: []
164
171
  rubyforge_project: rspec
165
- rubygems_version: 2.2.2
172
+ rubygems_version: 2.0.7
166
173
  signing_key:
167
174
  specification_version: 4
168
- summary: rspec-mocks-3.0.0.rc1
175
+ summary: rspec-mocks-3.0.0
169
176
  test_files: []
170
177
  has_rdoc:
metadata.gz.sig CHANGED
Binary file