aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_class.rb8
-rw-r--r--test/ruby/test_module.rb8
2 files changed, 16 insertions, 0 deletions
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb
index 3508061840..efee102835 100644
--- a/test/ruby/test_class.rb
+++ b/test/ruby/test_class.rb
@@ -522,4 +522,12 @@ class TestClass < Test::Unit::TestCase
assert_equal(m, m.xyzzy, "Bug #10871")
}
end
+
+ def test_redefinition_mismatch
+ m = Module.new
+ m.module_eval "A = 1"
+ assert_raise_with_message(TypeError, /is not a class/) {
+ m.module_eval "class A; end"
+ }
+ end
end
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index bdf699536d..e91d2c8a93 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -2066,6 +2066,14 @@ class TestModule < Test::Unit::TestCase
end
end
+ def test_redefinition_mismatch
+ m = Module.new
+ m.module_eval "A = 1"
+ assert_raise_with_message(TypeError, /is not a module/) {
+ m.module_eval "module A; end"
+ }
+ end
+
private
def assert_top_method_is_private(method)