From dfde34cb3c968f3238afcfd05298bc6b88585bcb Mon Sep 17 00:00:00 2001 From: marcandre Date: Thu, 7 Mar 2013 17:54:49 +0000 Subject: * 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 --- test/ruby/test_module.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/ruby/test_module.rb') diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index 5450c8ff3a..af3150b8a0 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -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) -- cgit v1.2.3