Browse Source

failing test for #2036:

* add a repeated field to the tested hash
* also assert that two messages with identical values produce identical hashes
Brendan Ribera 9 years ago
parent
commit
047419a172
1 changed files with 4 additions and 1 deletions
  1. 4 1
      ruby/tests/basic.rb

+ 4 - 1
ruby/tests/basic.rb

@@ -183,12 +183,15 @@ module BasicTest
 
 
     def test_hash
     def test_hash
       m1 = TestMessage.new(:optional_int32 => 42)
       m1 = TestMessage.new(:optional_int32 => 42)
-      m2 = TestMessage.new(:optional_int32 => 102)
+      m2 = TestMessage.new(:optional_int32 => 102, repeated_string: ['please', 'work', 'ok?'])
+      m3 = TestMessage.new(:optional_int32 => 102, repeated_string: ['please', 'work', 'ok?'])
       assert m1.hash != 0
       assert m1.hash != 0
       assert m2.hash != 0
       assert m2.hash != 0
+      assert m3.hash != 0
       # relying on the randomness here -- if hash function changes and we are
       # relying on the randomness here -- if hash function changes and we are
       # unlucky enough to get a collision, then change the values above.
       # unlucky enough to get a collision, then change the values above.
       assert m1.hash != m2.hash
       assert m1.hash != m2.hash
+      assert_equal m2.hash, m3.hash
     end
     end
 
 
     def test_unknown_field_errors
     def test_unknown_field_errors