* class.c (rb_mod_ancestors): Include singleton_class in ancestors list

[Feature #8035]

* test/ruby/test_module.rb (class): test for above

* test/ruby/marshaltestlib.rb (module): adapt test

* NEWS: list change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
marcandre 2013-03-07 17:54:49 +00:00
parent 221f2a1d8a
commit dfde34cb3c
4 changed files with 39 additions and 34 deletions

View file

@ -1663,6 +1663,20 @@ class TestModule < Test::Unit::TestCase
end
end
def test_singleton_class_ancestors
feature8035 = '[ruby-core:53171]'
obj = Object.new
assert_equal [obj.singleton_class, Object], obj.singleton_class.ancestors.first(2), feature8035
mod = Module.new
obj.extend mod
assert_equal [obj.singleton_class, mod, Object], obj.singleton_class.ancestors.first(3)
obj = Object.new
obj.singleton_class.send :prepend, mod
assert_equal [mod, obj.singleton_class, Object], obj.singleton_class.ancestors.first(3)
end
private
def assert_top_method_is_private(method)