diff options
Diffstat (limited to 'test/ruby/test_inlinecache.rb')
-rw-r--r-- | test/ruby/test_inlinecache.rb | 46 |
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 |