ruby--ruby/test/ruby/test_clone.rb

36 lines
638 B
Ruby

require 'test/unit'
$KCODE = 'none'
class TestClone < Test::Unit::TestCase
module M001; end
module M002; end
module M003; include M002; end
module M002; include M001; end
module M003; include M002; end
def test_clone
foo = Object.new
def foo.test
"test"
end
bar = foo.clone
def bar.test2
"test2"
end
assert_equal(bar.test2, "test2")
assert_equal(bar.test, "test")
assert_equal(foo.test, "test")
begin
foo.test2
assert false
rescue NoMethodError
assert true
end
assert_equal(M003.ancestors, [M003, M002, M001])
end
end