Project

General

Profile

Bug #6454 » rb_mod_init_copy.bug6454.patch

drbrain (Eric Hodel), 05/19/2012 08:56 AM

View differences:

class.c (working copy)
st_free_table(RCLASS_IV_TBL(clone));
}
RCLASS_IV_TBL(clone) = st_copy(RCLASS_IV_TBL(orig));
CONST_ID(id, "__tmp_classpath__");
st_delete(RCLASS_IV_TBL(clone), &id, 0);
CONST_ID(id, "__classpath__");
st_delete(RCLASS_IV_TBL(clone), &id, 0);
CONST_ID(id, "__classid__");
test/ruby/test_module.rb (working copy)
assert_equal([:MIXIN, :USER], User.constants.sort)
end
def test_dup
bug6454 = '[ruby-core:45132]'
a = Module.new
Other.const_set :BUG6454, a
original = Other::BUG6454.inspect
b = a.dup
Other.const_set :BUG6454_dup, b
assert_equal "TestModule::Other::BUG6454_dup", b.inspect, bug6454
end
def test_dup_anonymous
bug6454 = '[ruby-core:45132]'
a = Module.new
original = a.inspect
b = a.dup
refute_equal original, b.inspect, bug6454
end
def test_included_modules
assert_equal([], Mixin.included_modules)
assert_equal([Mixin], User.included_modules)
(2-2/3)