mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
ad10cfeb52
commit
4bf8c87101
4 changed files with 58 additions and 2 deletions
|
@ -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'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue