mocha 1.15.1 → 1.16.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 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.