mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
fec209551a
commit
e3c25091cd
3 changed files with 24 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue