summaryrefslogtreecommitdiff
path: root/test/ruby/test_weakmap.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-23 00:31:16 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-23 00:31:16 +0900
commitf3c81b4e90ec492382e299573f2c3ac272adbb5f (patch)
tree9ea5455129d2cf643290d81b564769d7032f6803 /test/ruby/test_weakmap.rb
parentf5e29044710e74249e89bbb0f112dc22e5b91398 (diff)
Frozen objects in WeakMap
* gc.c (wmap_aset): bypass check for frozen and allow frozen object in WeakMap. [Bug #13498]
Diffstat (limited to 'test/ruby/test_weakmap.rb')
-rw-r--r--test/ruby/test_weakmap.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/ruby/test_weakmap.rb b/test/ruby/test_weakmap.rb
index fb57903c98..8eb32b574f 100644
--- a/test/ruby/test_weakmap.rb
+++ b/test/ruby/test_weakmap.rb
@@ -141,4 +141,10 @@ class TestWeakMap < Test::Unit::TestCase
assert_equal(2, @wm.__send__(m))
end
alias test_length test_size
+
+ def test_frozen_object
+ o = Object.new.freeze
+ assert_nothing_raised(FrozenError) {@wm[o] = 'foo'}
+ assert_nothing_raised(FrozenError) {@wm['foo'] = o}
+ end
end