1require File.expand_path '../xref_test_case', __FILE__
2
3class TestRDocNormalClass < XrefTestCase
4
5  def test_ancestors
6    klass = @top_level.add_class RDoc::NormalClass, 'Klass'
7    incl = RDoc::Include.new 'Incl', ''
8
9    sub_klass = @top_level.add_class RDoc::NormalClass, 'SubClass'
10    sub_klass.superclass = klass
11    sub_klass.add_include incl
12
13    assert_equal [incl.name, klass, 'Object'], sub_klass.ancestors
14  end
15
16  def test_ancestors_multilevel
17    c1 = @top_level.add_class RDoc::NormalClass, 'Outer'
18    c2 = @top_level.add_class RDoc::NormalClass, 'Middle', c1
19    c3 = @top_level.add_class RDoc::NormalClass, 'Inner', c2
20
21    assert_equal [c2, c1, 'Object'], c3.ancestors
22  end
23
24  def test_direct_ancestors
25    incl = RDoc::Include.new 'Incl', ''
26
27    c1 = @top_level.add_class RDoc::NormalClass, 'Outer'
28    c2 = @top_level.add_class RDoc::NormalClass, 'Middle', c1
29    c3 = @top_level.add_class RDoc::NormalClass, 'Inner', c2
30    c3.add_include incl
31
32    assert_equal [incl.name, c2], c3.direct_ancestors
33  end
34
35  def test_definition
36    c = RDoc::NormalClass.new 'C'
37
38    assert_equal 'class C', c.definition
39  end
40
41end
42
43