summaryrefslogtreecommitdiff
path: root/test/ruby/test_inlinecache.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_inlinecache.rb')
-rw-r--r--test/ruby/test_inlinecache.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/ruby/test_inlinecache.rb b/test/ruby/test_inlinecache.rb
index 90d0189d4c..6c2d86aefd 100644
--- a/test/ruby/test_inlinecache.rb
+++ b/test/ruby/test_inlinecache.rb
@@ -61,4 +61,50 @@ class TestMethod < Test::Unit::TestCase
assert_equal :E, test[]
EOS
end
+
+ def test_module_methods_redefiniton
+ m0 = Module.new do
+ def foo
+ super
+ end
+ end
+
+ c1 = Class.new do
+ def foo
+ :C1
+ end
+ end
+
+ c2 = Class.new do
+ def foo
+ :C2
+ end
+ end
+
+ d1 = Class.new(c1) do
+ include m0
+ end
+
+ d2 = Class.new(c2) do
+ include m0
+ end
+
+ assert_equal :C1, d1.new.foo
+
+ m = Module.new do
+ def foo
+ super
+ end
+ end
+
+ d1.class_eval do
+ include m
+ end
+
+ d2.class_eval do
+ include m
+ end
+
+ assert_equal :C2, d2.new.foo
+ end
end