mocha 1.15.1 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f69e06715dfda038470d522472d10e99e4de02d57f1efe4d4f81caaff7856e4
4
- data.tar.gz: a1fae0b515f7f76108c58fc151995eaab5a03a3d034820e3853799c2f571bcda
3
+ metadata.gz: dd831959184fe3eecebdf969b343f35890f555b638aade8a24100ec68fcc1dbf
4
+ data.tar.gz: 4bbb00fdfb329c95cee458c9a0ba9d79519183794ba843646b30368300d48b85
5
5
  SHA512:
6
- metadata.gz: 997c75e49d45c59eab07d55c940bf56bf94161a4b1940de46f70ab5d3c8749657de799d61ac519b85e89de9154618df5cd5d4eedcb7ab85499cf404eb5ad54f4
7
- data.tar.gz: 90122aa4932173fc3dfc2b7295f97af05f23abb0967fc46da3a7c977ec4b16371595f21b9eeae58c50024a57e20dd3861e91ab67a405a0b29d20267a46b8800e
6
+ metadata.gz: 7193325ccc907fddeb7c779ba632877e363a633a642096c26ea866595449d0d0f0e8674cd2af06020ca5486e4553a97e573bb73acf89e35b0a8144af320c6b79
7
+ data.tar.gz: 7e761bb099334893252ea4652348868ab4125d73fa225a0b50da6bfbc92a83b75471aeb1e4e80a2949f39ecbf672a019077229ff7e8ae65f224c74b92451a144
data/RELEASE.md CHANGED
@@ -1,10 +1,15 @@
1
1
  # Release Notes
2
2
 
3
- ## 1.15.1
3
+ ## 1.16.0
4
4
 
5
5
  ### External changes
6
6
 
7
- * Fix regression in `Mock#responds_like` behaviour - thanks to @adrianna-chang-shopify for reporting (#580,#583,c586a08c)
7
+ * Default `Configuration#reinstate_undocumented_behaviour_from_v1_9=` to `false` (6fcaf947)
8
+ * Deprecate `Configuration#reinstate_undocumented_behaviour_from_v1_9=` (a797c5fd)
9
+
10
+ ### Internal changes
11
+
12
+ * Remove redundant deprecation disabling in MockTest (dc8ca969)
8
13
 
9
14
  ## 1.15.0
10
15
 
@@ -43,7 +43,7 @@ module Mocha
43
43
  :stubbing_non_public_method => :allow,
44
44
  :stubbing_method_on_nil => :prevent,
45
45
  :display_matching_invocations_on_failure => false,
46
- :reinstate_undocumented_behaviour_from_v1_9 => true
46
+ :reinstate_undocumented_behaviour_from_v1_9 => false
47
47
  }.freeze
48
48
 
49
49
  attr_reader :options
@@ -258,7 +258,8 @@ module Mocha
258
258
  #
259
259
  # Enabling this configuration option reinstates the previous behaviour, but displays a deprecation warning.
260
260
  #
261
- # @param [Boolean] value +true+ to reinstate undocumented behaviour; enabled by default.
261
+ # @param [Boolean] value +true+ to reinstate undocumented behaviour; disabled by default.
262
+ # @deprecated Fix deprecation warnings caused by reliance on v1.9 behaviour and remove calls to this method.
262
263
  #
263
264
  # @example Reinstate undocumented behaviour for {API#mock}
264
265
  # Mocha.configure do |c|
@@ -295,6 +296,16 @@ module Mocha
295
296
  # foo.my_method # => does *not* raise LocalJumpError when no block is supplied
296
297
  #
297
298
  def reinstate_undocumented_behaviour_from_v1_9=(value)
299
+ if value
300
+ sentence1 = 'Configuration#reinstate_undocumented_behaviour_from_v1_9= will be removed in the future.'
301
+ sentence2 = 'Fix deprecation warnings caused by reliance on v1.9 behaviour.'
302
+ sentence3 = 'See docs for API#mock, API#stub, API#stub_everything, Expectation#yields and Expectation#multiple_yields.'
303
+ Deprecation.warning([sentence1, sentence2, sentence3].join(' '))
304
+ else
305
+ sentence1 = 'Configuration#reinstate_undocumented_behaviour_from_v1_9= is unnecessarily being set to false, because this is now the default value.'
306
+ sentence2 = 'Configuration#reinstate_undocumented_behaviour_from_v1_9= will be removed in the future, so you should avoid calling it.'
307
+ Deprecation.warning([sentence1, sentence2].join(' '))
308
+ end
298
309
  @options[:reinstate_undocumented_behaviour_from_v1_9] = value
299
310
  end
300
311
 
data/lib/mocha/mock.rb CHANGED
@@ -182,11 +182,11 @@ module Mocha
182
182
  end
183
183
  end
184
184
 
185
- # Constrains the {Mock} instance so that it can only expect or stub methods to which +responder+ responds publicly. The constraint is only applied at method invocation time.
185
+ # Constrains the {Mock} instance so that it can only expect or stub methods to which +responder+ responds. The constraint is only applied at method invocation time.
186
186
  #
187
- # A +NoMethodError+ will be raised if the +responder+ does not publicly +#respond_to?+ the invoked method (even if the method has been expected or stubbed).
187
+ # A +NoMethodError+ will be raised if the +responder+ does not +#respond_to?+ a method invocation (even if the method has been expected or stubbed).
188
188
  #
189
- # The {Mock} instance will delegate its +#respond_to?+ method to the +responder+. However, the +include_all+ parameter is not passed through, so only public methods on the +responder+ will be considered.
189
+ # The {Mock} instance will delegate its +#respond_to?+ method to the +responder+.
190
190
  #
191
191
  # Note that the methods on +responder+ are never actually invoked.
192
192
  #
@@ -236,11 +236,11 @@ module Mocha
236
236
  self
237
237
  end
238
238
 
239
- # Constrains the {Mock} instance so that it can only expect or stub methods to which an instance of the +responder_class+ responds publicly. The constraint is only applied at method invocation time. Note that the responder instance is instantiated using +Class#allocate+.
239
+ # Constrains the {Mock} instance so that it can only expect or stub methods to which an instance of the +responder_class+ responds. The constraint is only applied at method invocation time. Note that the responder instance is instantiated using +Class#allocate+.
240
240
  #
241
- # A +NoMethodError+ will be raised if the responder instance does not publicly +#respond_to?+ the invoked method (even if the method has been expected or stubbed).
241
+ # A +NoMethodError+ will be raised if the responder instance does not +#respond_to?+ a method invocation (even if the method has been expected or stubbed).
242
242
  #
243
- # The {Mock} instance will delegate its +#respond_to?+ method to the responder instance. However, the +include_all+ parameter is not passed through, so only public methods on the +responder+ will be considered.
243
+ # The {Mock} instance will delegate its +#respond_to?+ method to the responder instance.
244
244
  #
245
245
  # Note that the methods on the responder instance are never actually invoked.
246
246
  #
@@ -325,9 +325,9 @@ module Mocha
325
325
  end
326
326
 
327
327
  # @private
328
- def respond_to_missing?(symbol, _include_all)
328
+ def respond_to_missing?(symbol, include_all)
329
329
  if @responder
330
- @responder.respond_to?(symbol)
330
+ @responder.respond_to?(symbol, include_all)
331
331
  else
332
332
  @everything_stubbed || all_expectations.matches_method?(symbol)
333
333
  end
data/lib/mocha/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mocha
2
- VERSION = '1.15.1'.freeze
2
+ VERSION = '1.16.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mocha
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.1
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Mead
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-07 00:00:00.000000000 Z
11
+ date: 2022-10-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Mocking and stubbing library with JMock/SchMock syntax, which allows
14
14
  mocking and stubbing of methods on real (non-mock) classes.