summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_weakmap.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_weakmap.rb b/test/ruby/test_weakmap.rb
index 0f147a6b0f..053ad88cfa 100644
--- a/test/ruby/test_weakmap.rb
+++ b/test/ruby/test_weakmap.rb
@@ -14,6 +14,20 @@ class TestWeakMap < Test::Unit::TestCase
assert_not_same(x, @wm["FOO".downcase])
end
+ def test_aset_const
+ x = Object.new
+ assert_raise(ArgumentError) {@wm[true] = x}
+ assert_raise(ArgumentError) {@wm[false] = x}
+ assert_raise(ArgumentError) {@wm[nil] = x}
+ assert_raise(RuntimeError) {@wm[42] = x}
+ assert_raise(RuntimeError) {@wm[:foo] = x}
+ assert_raise(ArgumentError) {@wm[x] = true}
+ assert_raise(ArgumentError) {@wm[x] = false}
+ assert_raise(ArgumentError) {@wm[x] = nil}
+ assert_raise(RuntimeError) {@wm[x] = 42}
+ assert_raise(RuntimeError) {@wm[x] = :foo}
+ end
+
def test_include?
m = __callee__[/test_(.*)/, 1]
x = Object.new