summaryrefslogtreecommitdiff
path: root/spec/ruby/core/hash/rehash_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/hash/rehash_spec.rb')
-rw-r--r--spec/ruby/core/hash/rehash_spec.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/ruby/core/hash/rehash_spec.rb b/spec/ruby/core/hash/rehash_spec.rb
index 5b15af923a..f44b42eecf 100644
--- a/spec/ruby/core/hash/rehash_spec.rb
+++ b/spec/ruby/core/hash/rehash_spec.rb
@@ -35,6 +35,21 @@ describe "Hash#rehash" do
h[k2].should == v2
end
+ it "removes duplicate keys" do
+ a = [1,2]
+ b = [1]
+
+ h = {}
+ h[a] = true
+ h[b] = true
+ b << 2
+ h.size.should == 2
+ h.keys.should == [a, b]
+ h.rehash
+ h.size.should == 1
+ h.keys.should == [a]
+ end
+
it "raises a #{frozen_error_class} if called on a frozen instance" do
lambda { HashSpecs.frozen_hash.rehash }.should raise_error(frozen_error_class)
lambda { HashSpecs.empty_frozen_hash.rehash }.should raise_error(frozen_error_class)