summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_class.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb
index 0ac29b3cf4..fa50d2f3e7 100644
--- a/test/ruby/test_class.rb
+++ b/test/ruby/test_class.rb
@@ -299,4 +299,41 @@ class TestClass < Test::Unit::TestCase
assert_equal 1, m::C
assert_equal 1, m.m
end
+
+ def test_invalid_superclass
+ assert_raise(TypeError) do
+ eval <<-EOF
+ class C < nil
+ end
+ EOF
+ end
+
+ assert_raise(TypeError) do
+ eval <<-EOF
+ class C < false
+ end
+ EOF
+ end
+
+ assert_raise(TypeError) do
+ eval <<-EOF
+ class C < true
+ end
+ EOF
+ end
+
+ assert_raise(TypeError) do
+ eval <<-EOF
+ class C < 0
+ end
+ EOF
+ end
+
+ assert_raise(TypeError) do
+ eval <<-EOF
+ class C < ""
+ end
+ EOF
+ end
+ end
end