mocha 2.4.0 → 2.4.1

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: bc6cb720040e8f8e9b422f5c96529de7d3d0a6d26d5b627cbce4edc070de0b84
4
- data.tar.gz: 466f0bc9a7f8422150eaff6cfbff9bd6582c2ce71dbf72be894f6bcfc7c6fe33
3
+ metadata.gz: 365de18bfd8d5aa67a5baf350c2a89082f702aef92ca581a78bd427529654f36
4
+ data.tar.gz: 8b989ea9c7fea12a78a82ab2db2cd2600793b32e513348e9eb7ea7d4d41094fc
5
5
  SHA512:
6
- metadata.gz: aacaeecf4b7e8eea1b2e4ae31bb19759a0c2045befc8cbe80ae9a9b32fb5af4dbaffc0bbefa228b33232b5cbd92c92c2e9aa61ca9660e0aa3f1500ac881606a1
7
- data.tar.gz: 2c9b80dc28bd3a397e70fe93c4c383c4faac9429e028197396b0c192bda9445a14629e694f74b86d180bdbe54af6c80ad152491806f4226d237da137e7020722
6
+ metadata.gz: 131e1759a21fd24f1ec7ed7a222626b6fd326a72a4bd38b720c45bac3e800e4b563c28827caf539a397bc9734ab42d1bec03ae8f4c112edeccb61a995d7d3cfb
7
+ data.tar.gz: cf625e741f8324539cd315a7c716cbac1311d0d42db68b4bcf72fe663676a55753b5fa6073bb05c58e169e419fc810822d36bf06db174c49bd24ca7f7391b195
data/RELEASE.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release Notes
2
2
 
3
+ ## 2.4.1
4
+
5
+ ### External changes
6
+
7
+ * Fix regression in matchers when used with keyword arguments (#648, #655) - thanks to @ElvinEfendi for reporting
8
+
9
+ ### Internal changes
10
+
11
+ * Reduce duplication & consolidate `#to_matcher` method definitions (600ee2aa, e9de64e4, #655)
12
+ * Change `#to_matcher` method to use keyword arguments (3b60b7df, #655)
13
+
3
14
  ## 2.4.0
4
15
 
5
16
  ### External changes
@@ -2,11 +2,6 @@ module Mocha
2
2
  module ParameterMatchers
3
3
  # @abstract Subclass and implement +#matches?+ and +#mocha_inspect+ to define a custom matcher. Also add a suitably named instance method to {ParameterMatchers} to build an instance of the new matcher c.f. {#equals}.
4
4
  class Base
5
- # @private
6
- def to_matcher(_expectation = nil)
7
- self
8
- end
9
-
10
5
  # A shorthand way of combining two matchers when both must match.
11
6
  #
12
7
  # Returns a new {AllOf} parameter matcher combining two matchers using a logical AND.
@@ -1,3 +1,4 @@
1
+ require 'mocha/parameter_matchers/base'
1
2
  require 'mocha/parameter_matchers/equals'
2
3
  require 'mocha/parameter_matchers/positional_or_keyword_hash'
3
4
 
@@ -6,8 +7,14 @@ module Mocha
6
7
  # @private
7
8
  module InstanceMethods
8
9
  # @private
9
- def to_matcher(_expectation = nil)
10
- Mocha::ParameterMatchers::Equals.new(self)
10
+ def to_matcher(expectation: nil, top_level: false)
11
+ if is_a?(Base)
12
+ self
13
+ elsif is_a?(Hash) && top_level
14
+ Mocha::ParameterMatchers::PositionalOrKeywordHash.new(self, expectation)
15
+ else
16
+ Mocha::ParameterMatchers::Equals.new(self)
17
+ end
11
18
  end
12
19
  end
13
20
  end
@@ -17,11 +24,3 @@ end
17
24
  class Object
18
25
  include Mocha::ParameterMatchers::InstanceMethods
19
26
  end
20
-
21
- # @private
22
- class Hash
23
- # @private
24
- def to_matcher(expectation = nil)
25
- Mocha::ParameterMatchers::PositionalOrKeywordHash.new(self, expectation)
26
- end
27
- end
@@ -28,7 +28,7 @@ module Mocha
28
28
  end
29
29
 
30
30
  def matchers
31
- @expected_parameters.map { |p| p.to_matcher(@expectation) }
31
+ @expected_parameters.map { |p| p.to_matcher(expectation: @expectation, top_level: true) }
32
32
  end
33
33
  end
34
34
  end
data/lib/mocha/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mocha
2
- VERSION = '2.4.0'.freeze
2
+ VERSION = '2.4.1'.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: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Mead
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-16 00:00:00.000000000 Z
11
+ date: 2024-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby2_keywords