summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_normal_class.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_rdoc_normal_class.rb')
-rw-r--r--test/rdoc/test_rdoc_normal_class.rb29
1 files changed, 24 insertions, 5 deletions
diff --git a/test/rdoc/test_rdoc_normal_class.rb b/test/rdoc/test_rdoc_normal_class.rb
index bd0d67e19c..f3c7890d59 100644
--- a/test/rdoc/test_rdoc_normal_class.rb
+++ b/test/rdoc/test_rdoc_normal_class.rb
@@ -2,15 +2,34 @@ require File.expand_path '../xref_test_case', __FILE__
class TestRDocNormalClass < XrefTestCase
- def test_ancestors_class
- top_level = RDoc::TopLevel.new 'file.rb'
- klass = top_level.add_class RDoc::NormalClass, 'Klass'
+ def test_ancestors
+ klass = @top_level.add_class RDoc::NormalClass, 'Klass'
incl = RDoc::Include.new 'Incl', ''
- sub_klass = klass.add_class RDoc::NormalClass, 'SubClass', 'Klass'
+ sub_klass = @top_level.add_class RDoc::NormalClass, 'SubClass'
+ sub_klass.superclass = klass
sub_klass.add_include incl
- assert_equal [incl.name, klass], sub_klass.ancestors
+ assert_equal [incl.name, klass, 'Object'], sub_klass.ancestors
+ end
+
+ def test_ancestors_multilevel
+ c1 = @top_level.add_class RDoc::NormalClass, 'Outer'
+ c2 = @top_level.add_class RDoc::NormalClass, 'Middle', c1
+ c3 = @top_level.add_class RDoc::NormalClass, 'Inner', c2
+
+ assert_equal [c2, c1, 'Object'], c3.ancestors
+ end
+
+ def test_direct_ancestors
+ incl = RDoc::Include.new 'Incl', ''
+
+ c1 = @top_level.add_class RDoc::NormalClass, 'Outer'
+ c2 = @top_level.add_class RDoc::NormalClass, 'Middle', c1
+ c3 = @top_level.add_class RDoc::NormalClass, 'Inner', c2
+ c3.add_include incl
+
+ assert_equal [incl.name, c2], c3.direct_ancestors
end
def test_definition