Hello community,

here is the log from the commit of package rubygem-rspec-expectations for 
openSUSE:Factory checked in at 2019-06-12 13:00:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rspec-expectations (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-rspec-expectations.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-rspec-expectations"

Wed Jun 12 13:00:47 2019 rev:16 rq:706020 version:3.8.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-rspec-expectations/rubygem-rspec-expectations.changes
    2018-11-01 19:10:36.422036334 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-rspec-expectations.new.4811/rubygem-rspec-expectations.changes
  2019-06-12 13:00:48.653307201 +0200
@@ -1,0 +2,22 @@
+Sun May  5 09:43:21 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to version 3.8.3
+ see installed Changelog.md
+
+  ### Development
+  [Full 
Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...3-8-maintenance)
+  
+  ### 3.8.3 / 2019-04-20
+  [Full 
Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
+  
+  Bug Fixes:
+  
+  * Prevent composed `all` matchers from leaking into their siblings leading 
to duplicate
+    failures. (Jamie English, #1086)
+  * Prevent objects which change their hash on comparison from failing change 
checks.
+    (Phil Pirozhkov, #1110)
+  * Issue an `ArgumentError` rather than a `NoMethodError` when 
`be_an_instance_of` and
+    `be_kind_of` matchers encounter objects not supporting those methods.
+    (Taichi Ishitani, #1107)
+
+-------------------------------------------------------------------

Old:
----
  rspec-expectations-3.8.2.gem

New:
----
  rspec-expectations-3.8.3.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-rspec-expectations.spec ++++++
--- /var/tmp/diff_new_pack.kwAg7S/_old  2019-06-12 13:00:49.905306923 +0200
+++ /var/tmp/diff_new_pack.kwAg7S/_new  2019-06-12 13:00:49.933306917 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-rspec-expectations
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-rspec-expectations
-Version:        3.8.2
+Version:        3.8.3
 Release:        0
 %define mod_name rspec-expectations
 %define mod_full_name %{mod_name}-%{version}

++++++ rspec-expectations-3.8.2.gem -> rspec-expectations-3.8.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Changelog.md new/Changelog.md
--- old/Changelog.md    2018-10-09 22:43:31.000000000 +0200
+++ new/Changelog.md    2019-04-21 14:45:44.000000000 +0200
@@ -1,3 +1,19 @@
+### Development
+[Full 
Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...3-8-maintenance)
+
+### 3.8.3 / 2019-04-20
+[Full 
Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
+
+Bug Fixes:
+
+* Prevent composed `all` matchers from leaking into their siblings leading to 
duplicate
+  failures. (Jamie English, #1086)
+* Prevent objects which change their hash on comparison from failing change 
checks.
+  (Phil Pirozhkov, #1110)
+* Issue an `ArgumentError` rather than a `NoMethodError` when 
`be_an_instance_of` and
+  `be_kind_of` matchers encounter objects not supporting those methods.
+  (Taichi Ishitani, #1107)
+
 ### 3.8.2 / 2018-10-09
 [Full 
Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
 
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ
Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/rspec/expectations/version.rb 
new/lib/rspec/expectations/version.rb
--- old/lib/rspec/expectations/version.rb       2018-10-09 22:43:31.000000000 
+0200
+++ new/lib/rspec/expectations/version.rb       2019-04-21 14:45:44.000000000 
+0200
@@ -2,7 +2,7 @@
   module Expectations
     # @private
     module Version
-      STRING = '3.8.2'
+      STRING = '3.8.3'
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/rspec/matchers/built_in/all.rb 
new/lib/rspec/matchers/built_in/all.rb
--- old/lib/rspec/matchers/built_in/all.rb      2018-10-09 22:43:31.000000000 
+0200
+++ new/lib/rspec/matchers/built_in/all.rb      2019-04-21 14:45:44.000000000 
+0200
@@ -73,6 +73,7 @@
 
         def initialize_copy(other)
           @matcher = @matcher.clone
+          @failed_objects = @failed_objects.clone
           super
         end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/rspec/matchers/built_in/be_instance_of.rb 
new/lib/rspec/matchers/built_in/be_instance_of.rb
--- old/lib/rspec/matchers/built_in/be_instance_of.rb   2018-10-09 
22:43:31.000000000 +0200
+++ new/lib/rspec/matchers/built_in/be_instance_of.rb   2019-04-21 
14:45:44.000000000 +0200
@@ -14,7 +14,17 @@
       private
 
         def match(expected, actual)
-          actual.instance_of? expected
+          if actual_object_respond_to?(actual, :instance_of?)
+            actual.instance_of?(expected)
+          else
+            raise ::ArgumentError, "The #{matcher_name} matcher requires that 
" \
+                                   "the actual object responds to 
#instance_of? method " \
+                                   "but it does not respond to the method."
+          end
+        end
+
+        def actual_object_respond_to?(actual, method)
+          ::Kernel.instance_method(:respond_to?).bind(actual).call(method)
         end
       end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/rspec/matchers/built_in/be_kind_of.rb 
new/lib/rspec/matchers/built_in/be_kind_of.rb
--- old/lib/rspec/matchers/built_in/be_kind_of.rb       2018-10-09 
22:43:31.000000000 +0200
+++ new/lib/rspec/matchers/built_in/be_kind_of.rb       2019-04-21 
14:45:44.000000000 +0200
@@ -8,7 +8,19 @@
       private
 
         def match(expected, actual)
-          actual.kind_of? expected
+          if actual_object_respond_to?(actual, :kind_of?)
+            actual.kind_of?(expected)
+          elsif actual_object_respond_to?(actual, :is_a?)
+            actual.is_a?(expected)
+          else
+            raise ::ArgumentError, "The #{matcher_name} matcher requires that 
" \
+                                   "the actual object responds to either 
#kind_of? or #is_a? methods "\
+                                   "but it responds to neigher of two methods."
+          end
+        end
+
+        def actual_object_respond_to?(actual, method)
+          ::Kernel.instance_method(:respond_to?).bind(actual).call(method)
         end
       end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/rspec/matchers/built_in/change.rb 
new/lib/rspec/matchers/built_in/change.rb
--- old/lib/rspec/matchers/built_in/change.rb   2018-10-09 22:43:31.000000000 
+0200
+++ new/lib/rspec/matchers/built_in/change.rb   2019-04-21 14:45:44.000000000 
+0200
@@ -373,6 +373,7 @@
           event_proc.call
 
           @actual_after = evaluate_value_proc
+          @actual_hash = @actual_after.hash
           true
         end
 
@@ -387,8 +388,9 @@
           #
           # Note that it is not sufficient to only check the hashes; it is
           # possible for two values to be unequal (and of different classes)
-          # but to return the same hash value.
-          @actual_before != @actual_after || @before_hash != @actual_after.hash
+          # but to return the same hash value. Also, some objects may change
+          # their hash after being compared with `==`/`!=`.
+          @actual_before != @actual_after || @before_hash != @actual_hash
         end
 
         def actual_delta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2018-10-09 22:43:31.000000000 +0200
+++ new/metadata        2019-04-21 14:45:44.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: rspec-expectations
 version: !ruby/object:Gem::Version
-  version: 3.8.2
+  version: 3.8.3
 platform: ruby
 authors:
 - Steven Baker
@@ -45,7 +45,7 @@
   ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
   F3MdtaDehhjC
   -----END CERTIFICATE-----
-date: 2018-10-09 00:00:00.000000000 Z
+date: 2019-04-21 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rspec-support
@@ -200,7 +200,12 @@
 homepage: https://github.com/rspec/rspec-expectations
 licenses:
 - MIT
-metadata: {}
+metadata:
+  bug_tracker_uri: https://github.com/rspec/rspec-expectations/issues
+  changelog_uri: 
https://github.com/rspec/rspec-expectations/blob/v3.8.3/Changelog.md
+  documentation_uri: https://rspec.info/documentation/
+  mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
+  source_code_uri: https://github.com/rspec/rspec-expectations
 post_install_message: 
 rdoc_options:
 - "--charset=UTF-8"
@@ -217,9 +222,8 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubyforge_project: 
-rubygems_version: 2.7.6
+rubygems_version: 3.0.3
 signing_key: 
 specification_version: 4
-summary: rspec-expectations-3.8.2
+summary: rspec-expectations-3.8.3
 test_files: []
Binary files old/metadata.gz.sig and new/metadata.gz.sig differ


Reply via email to