From e3c25091cda672ff0ebe1dec996d859888907644 Mon Sep 17 00:00:00 2001 From: shugo Date: Wed, 10 Mar 2010 16:07:06 +0000 Subject: * iseq.c (rb_iseq_clone): sets local_iseq and klass properly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_class.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb index 3a0ced8be7..c81f0752d4 100644 --- a/test/ruby/test_class.rb +++ b/test/ruby/test_class.rb @@ -220,4 +220,20 @@ class TestClass < Test::Unit::TestCase assert_raise(SyntaxError) { eval("class C; return; end") } assert_raise(SyntaxError) { eval("class C; yield; end") } end + + def test_clone + original = Class.new { + def foo + return super() + end + } + mod = Module.new { + def foo + return "mod#foo" + end + } + copy = original.clone + copy.send(:include, mod) + assert_equal("mod#foo", copy.new.foo) + end end -- cgit v1.2.3