aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_context.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-14 03:07:38 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-14 03:07:38 +0000
commit4bf8c87101217056257508d76e7787ded0d76849 (patch)
treecfd0f00fdc18088c646c468cdb0ebb5cc47e90bc /test/rdoc/test_rdoc_context.rb
parentad10cfeb526151300f0ab141d0b4b5c85576033d (diff)
downloadruby-4bf8c87101217056257508d76e7787ded0d76849.tar.gz
* lib/rdoc/context.rb (class RDoc): Fix infinite loop caused by
re-encountering BasicObject. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rdoc/test_rdoc_context.rb')
-rw-r--r--test/rdoc/test_rdoc_context.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/rdoc/test_rdoc_context.rb b/test/rdoc/test_rdoc_context.rb
index 02f7311d01..55c6c6e6e3 100644
--- a/test/rdoc/test_rdoc_context.rb
+++ b/test/rdoc/test_rdoc_context.rb
@@ -105,6 +105,38 @@ class TestRDocContext < XrefTestCase
assert_includes RDoc::TopLevel.classes.map { |k| k.full_name }, 'C1::Klass'
end
+ def test_add_class_basic_object
+ skip 'BasicObject is 1.9 only' unless defined?(BasicObject)
+
+ @xref_data.add_class RDoc::NormalClass, 'BasicObject'
+
+ basic = @xref_data.find_module_named 'BasicObject'
+
+ assert_nil basic.superclass
+
+ @c1.add_class RDoc::NormalClass, 'BasicObject'
+
+ basic = @c1.find_module_named 'BasicObject'
+
+ assert_equal 'Object', basic.superclass
+ end
+
+ def test_add_class_object
+ root_class = defined?(BasicObject) ? 'BasicObject' : nil
+
+ @xref_data.add_class RDoc::NormalClass, 'Object'
+
+ object = @xref_data.find_module_named 'Object'
+
+ assert_equal root_class, object.superclass
+
+ @c1.add_class RDoc::NormalClass, 'Object'
+
+ object = @c1.find_module_named 'Object'
+
+ assert_equal 'Object', object.superclass.full_name
+ end
+
def test_add_class_superclass
@c1.add_class RDoc::NormalClass, 'Klass', 'Object'
@c1.add_class RDoc::NormalClass, 'Klass', 'Other'