rdoc 2.5.11 → 3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

Files changed (113) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.document +1 -0
  3. data/History.txt +95 -0
  4. data/Manifest.txt +13 -4
  5. data/README.txt +9 -3
  6. data/Rakefile +1 -1
  7. data/lib/rdoc.rb +15 -298
  8. data/lib/rdoc/alias.rb +65 -16
  9. data/lib/rdoc/any_method.rb +27 -150
  10. data/lib/rdoc/attr.rb +36 -115
  11. data/lib/rdoc/class_module.rb +236 -22
  12. data/lib/rdoc/code_object.rb +76 -31
  13. data/lib/rdoc/constant.rb +32 -4
  14. data/lib/rdoc/context.rb +494 -222
  15. data/lib/rdoc/encoding.rb +79 -0
  16. data/lib/rdoc/erbio.rb +37 -0
  17. data/lib/rdoc/gauntlet.rb +9 -5
  18. data/lib/rdoc/generator.rb +33 -1
  19. data/lib/rdoc/generator/darkfish.rb +284 -375
  20. data/lib/rdoc/generator/markup.rb +72 -36
  21. data/lib/rdoc/generator/ri.rb +4 -4
  22. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +267 -274
  23. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +91 -91
  24. data/lib/rdoc/generator/template/darkfish/index.rhtml +45 -45
  25. data/lib/rdoc/generator/template/darkfish/rdoc.css +298 -298
  26. data/lib/rdoc/include.rb +40 -1
  27. data/lib/rdoc/known_classes.rb +1 -0
  28. data/lib/rdoc/markup.rb +467 -2
  29. data/lib/rdoc/markup/attribute_manager.rb +24 -6
  30. data/lib/rdoc/markup/blank_line.rb +11 -3
  31. data/lib/rdoc/markup/document.rb +6 -0
  32. data/lib/rdoc/markup/formatter.rb +10 -0
  33. data/lib/rdoc/markup/formatter_test_case.rb +339 -3
  34. data/lib/rdoc/markup/heading.rb +3 -0
  35. data/lib/rdoc/markup/inline.rb +11 -1
  36. data/lib/rdoc/markup/list.rb +3 -0
  37. data/lib/rdoc/markup/list_item.rb +3 -0
  38. data/lib/rdoc/markup/paragraph.rb +3 -0
  39. data/lib/rdoc/markup/parser.rb +191 -237
  40. data/lib/rdoc/markup/{preprocess.rb → pre_process.rb} +50 -29
  41. data/lib/rdoc/markup/raw.rb +4 -0
  42. data/lib/rdoc/markup/rule.rb +3 -0
  43. data/lib/rdoc/markup/text_formatter_test_case.rb +116 -0
  44. data/lib/rdoc/markup/to_ansi.rb +14 -2
  45. data/lib/rdoc/markup/to_bs.rb +8 -2
  46. data/lib/rdoc/markup/to_html.rb +84 -91
  47. data/lib/rdoc/markup/to_html_crossref.rb +77 -26
  48. data/lib/rdoc/markup/to_rdoc.rb +94 -49
  49. data/lib/rdoc/markup/to_test.rb +9 -1
  50. data/lib/rdoc/markup/verbatim.rb +6 -3
  51. data/lib/rdoc/method_attr.rb +353 -0
  52. data/lib/rdoc/normal_class.rb +11 -2
  53. data/lib/rdoc/normal_module.rb +0 -5
  54. data/lib/rdoc/options.rb +373 -82
  55. data/lib/rdoc/parser.rb +59 -23
  56. data/lib/rdoc/parser/c.rb +224 -86
  57. data/lib/rdoc/parser/ruby.rb +219 -111
  58. data/lib/rdoc/parser/ruby_tools.rb +4 -1
  59. data/lib/rdoc/parser/simple.rb +9 -4
  60. data/lib/rdoc/rdoc.rb +68 -28
  61. data/lib/rdoc/require.rb +21 -0
  62. data/lib/rdoc/ri/driver.rb +20 -10
  63. data/lib/rdoc/ri/paths.rb +2 -2
  64. data/lib/rdoc/ri/store.rb +22 -5
  65. data/lib/rdoc/ruby_lex.rb +11 -12
  66. data/lib/rdoc/ruby_token.rb +2 -2
  67. data/lib/rdoc/single_class.rb +2 -1
  68. data/lib/rdoc/stats.rb +202 -162
  69. data/lib/rdoc/stats/normal.rb +51 -0
  70. data/lib/rdoc/stats/quiet.rb +59 -0
  71. data/lib/rdoc/stats/verbose.rb +45 -0
  72. data/lib/rdoc/text.rb +133 -4
  73. data/lib/rdoc/{tokenstream.rb → token_stream.rb} +0 -2
  74. data/lib/rdoc/top_level.rb +230 -39
  75. data/test/test_attribute_manager.rb +58 -7
  76. data/test/test_rdoc_alias.rb +13 -0
  77. data/test/test_rdoc_any_method.rb +43 -2
  78. data/test/test_rdoc_attr.rb +15 -8
  79. data/test/test_rdoc_class_module.rb +133 -0
  80. data/test/test_rdoc_code_object.rb +62 -5
  81. data/test/test_rdoc_context.rb +72 -26
  82. data/test/test_rdoc_encoding.rb +145 -0
  83. data/test/test_rdoc_generator_darkfish.rb +119 -0
  84. data/test/test_rdoc_generator_ri.rb +22 -2
  85. data/test/test_rdoc_include.rb +79 -0
  86. data/test/test_rdoc_markup_attribute_manager.rb +4 -4
  87. data/test/test_rdoc_markup_parser.rb +134 -95
  88. data/test/test_rdoc_markup_pre_process.rb +7 -2
  89. data/test/test_rdoc_markup_to_ansi.rb +43 -153
  90. data/test/test_rdoc_markup_to_bs.rb +42 -156
  91. data/test/test_rdoc_markup_to_html.rb +130 -58
  92. data/test/test_rdoc_markup_to_html_crossref.rb +10 -10
  93. data/test/test_rdoc_markup_to_rdoc.rb +40 -151
  94. data/test/test_rdoc_method_attr.rb +122 -0
  95. data/test/test_rdoc_normal_class.rb +1 -1
  96. data/test/test_rdoc_normal_module.rb +6 -1
  97. data/test/test_rdoc_options.rb +237 -12
  98. data/test/test_rdoc_parser.rb +3 -22
  99. data/test/test_rdoc_parser_c.rb +203 -2
  100. data/test/test_rdoc_parser_ruby.rb +403 -89
  101. data/test/test_rdoc_parser_simple.rb +25 -1
  102. data/test/test_rdoc_rdoc.rb +44 -32
  103. data/test/test_rdoc_ri_driver.rb +29 -24
  104. data/test/test_rdoc_ri_store.rb +46 -3
  105. data/test/test_rdoc_task.rb +1 -1
  106. data/test/test_rdoc_text.rb +102 -8
  107. data/test/test_rdoc_top_level.rb +13 -4
  108. data/test/xref_data.rb +8 -0
  109. data/test/xref_test_case.rb +6 -0
  110. metadata +29 -19
  111. metadata.gz.sig +0 -0
  112. data/lib/rdoc/parser/perl.rb +0 -165
  113. data/test/test_rdoc_parser_perl.rb +0 -73
@@ -2,13 +2,35 @@ require 'rubygems'
2
2
  require 'minitest/autorun'
3
3
  require 'rdoc'
4
4
  require 'rdoc/markup'
5
+ require 'rdoc/markup/formatter'
5
6
  require 'rdoc/markup/attribute_manager'
6
7
 
7
- class TestAttributeManager < MiniTest::Unit::TestCase
8
+ class TestAttributeManager < MiniTest::Unit::TestCase # HACK fix test name
8
9
 
9
10
  def setup
10
11
  @am = RDoc::Markup::AttributeManager.new
11
12
  @klass = RDoc::Markup::AttributeManager
13
+ @formatter = RDoc::Markup::Formatter.new
14
+ @formatter.add_tag :BOLD, '<B>', '</B>'
15
+ @formatter.add_tag :EM, '<EM>', '</EM>'
16
+ @formatter.add_tag :TT, '<TT>', '</TT>'
17
+ end
18
+
19
+ def test_convert_attrs_ignores_code
20
+ assert_equal 'foo <TT>__send__</TT> bar', output('foo <code>__send__</code> bar')
21
+ end
22
+
23
+ def test_convert_attrs_ignores_tt
24
+ assert_equal 'foo <TT>__send__</TT> bar', output('foo <tt>__send__</tt> bar')
25
+ end
26
+
27
+ def test_convert_attrs_preserves_double
28
+ assert_equal 'foo.__send__ :bar', output('foo.__send__ :bar')
29
+ assert_equal 'use __FILE__ to', output('use __FILE__ to')
30
+ end
31
+
32
+ def test_convert_attrs_does_not_ignore_after_tt
33
+ assert_equal 'the <TT>IF:</TT><EM>key</EM> directive', output('the <tt>IF:</tt>_key_ directive')
12
34
  end
13
35
 
14
36
  def test_initial_word_pairs
@@ -57,12 +79,41 @@ class TestAttributeManager < MiniTest::Unit::TestCase
57
79
  assert(specials.has_key?("WikiWord"))
58
80
  end
59
81
 
60
- def silently(&block)
61
- warn_level = $VERBOSE
62
- $VERBOSE = nil
63
- result = block.call
64
- $VERBOSE = warn_level
65
- result
82
+ def test_escapes
83
+ assert_equal '<TT>text</TT>', output('<tt>text</tt>')
84
+ assert_equal '<tt>text</tt>', output('\\<tt>text</tt>')
85
+ assert_equal '<tt>', output('\\<tt>')
86
+ assert_equal '<TT><tt></TT>', output('<tt>\\<tt></tt>')
87
+ assert_equal '<TT>\\<tt></TT>', output('<tt>\\\\<tt></tt>')
88
+ assert_equal '<B>text</B>', output('*text*')
89
+ assert_equal '*text*', output('\\*text*')
90
+ assert_equal '\\', output('\\')
91
+ assert_equal '\\text', output('\\text')
92
+ assert_equal '\\\\text', output('\\\\text')
93
+ assert_equal 'text \\ text', output('text \\ text')
94
+
95
+ assert_equal 'and <TT>\\s</TT> matches space',
96
+ output('and <tt>\\s</tt> matches space')
97
+ assert_equal 'use <TT><tt>text</TT></tt> for code',
98
+ output('use <tt>\\<tt>text</tt></tt> for code')
99
+ assert_equal 'use <TT><tt>text</tt></TT> for code',
100
+ output('use <tt>\\<tt>text\\</tt></tt> for code')
101
+ assert_equal 'use <tt><tt>text</tt></tt> for code',
102
+ output('use \\<tt>\\<tt>text</tt></tt> for code')
103
+ assert_equal 'use <tt><TT>text</TT></tt> for code',
104
+ output('use \\<tt><tt>text</tt></tt> for code')
105
+ assert_equal 'use <TT>+text+</TT> for code',
106
+ output('use <tt>\\+text+</tt> for code')
107
+ assert_equal 'use <tt><TT>text</TT></tt> for code',
108
+ output('use \\<tt>+text+</tt> for code')
109
+ assert_equal 'illegal <tag>not</tag> changed',
110
+ output('illegal <tag>not</tag> changed')
111
+ assert_equal 'unhandled <p>tag</p> unchanged',
112
+ output('unhandled <p>tag</p> unchanged')
113
+ end
114
+
115
+ def output str
116
+ @formatter.convert_flow @am.flow str
66
117
  end
67
118
 
68
119
  end
@@ -0,0 +1,13 @@
1
+ require File.expand_path '../xref_test_case', __FILE__
2
+
3
+ class TestRDocAlias < XrefTestCase
4
+
5
+ def test_to_s
6
+ a = RDoc::Alias.new nil, 'a', 'b', ''
7
+ a.parent = @c2
8
+
9
+ assert_equal 'alias: b -> #a in: RDoc::NormalClass C2 < Object', a.to_s
10
+ end
11
+
12
+ end
13
+
@@ -1,15 +1,17 @@
1
1
  require File.expand_path '../xref_test_case', __FILE__
2
+ require 'rdoc/code_objects'
3
+ require 'rdoc/generator/markup'
2
4
 
3
5
  class RDocAnyMethodTest < XrefTestCase
4
6
 
5
7
  def test_aref
6
8
  m = RDoc::AnyMethod.new nil, 'method?'
7
9
 
8
- assert_equal 'method-i-method%3F', m.aref
10
+ assert_equal 'method-i-method-3F', m.aref
9
11
 
10
12
  m.singleton = true
11
13
 
12
- assert_equal 'method-c-method%3F', m.aref
14
+ assert_equal 'method-c-method-3F', m.aref
13
15
  end
14
16
 
15
17
  def test_arglists
@@ -36,6 +38,45 @@ method(a, b) { |c, d| ... }
36
38
  assert_equal 'C1::m', @c1.method_list.first.full_name
37
39
  end
38
40
 
41
+ def test_markup_code
42
+ tokens = [
43
+ RDoc::RubyToken::TkCONSTANT. new(0, 0, 0, 'CONSTANT'),
44
+ RDoc::RubyToken::TkKW. new(0, 0, 0, 'KW'),
45
+ RDoc::RubyToken::TkIVAR. new(0, 0, 0, 'IVAR'),
46
+ RDoc::RubyToken::TkOp. new(0, 0, 0, 'Op'),
47
+ RDoc::RubyToken::TkId. new(0, 0, 0, 'Id'),
48
+ RDoc::RubyToken::TkNode. new(0, 0, 0, 'Node'),
49
+ RDoc::RubyToken::TkCOMMENT. new(0, 0, 0, 'COMMENT'),
50
+ RDoc::RubyToken::TkREGEXP. new(0, 0, 0, 'REGEXP'),
51
+ RDoc::RubyToken::TkSTRING. new(0, 0, 0, 'STRING'),
52
+ RDoc::RubyToken::TkVal. new(0, 0, 0, 'Val'),
53
+ RDoc::RubyToken::TkBACKSLASH.new(0, 0, 0, '\\'),
54
+ ]
55
+
56
+ @c2_a.collect_tokens
57
+ @c2_a.add_tokens(*tokens)
58
+
59
+ expected = [
60
+ '<span class="ruby-constant">CONSTANT</span>',
61
+ '<span class="ruby-keyword">KW</span>',
62
+ '<span class="ruby-ivar">IVAR</span>',
63
+ '<span class="ruby-operator">Op</span>',
64
+ '<span class="ruby-identifier">Id</span>',
65
+ '<span class="ruby-node">Node</span>',
66
+ '<span class="ruby-comment">COMMENT</span>',
67
+ '<span class="ruby-regexp">REGEXP</span>',
68
+ '<span class="ruby-string">STRING</span>',
69
+ '<span class="ruby-value">Val</span>',
70
+ '\\'
71
+ ].join
72
+
73
+ assert_equal expected, @c2_a.markup_code
74
+ end
75
+
76
+ def test_markup_code_empty
77
+ assert_equal '', @c2_a.markup_code
78
+ end
79
+
39
80
  def test_marshal_load
40
81
  instance_method = Marshal.load Marshal.dump(@c1.method_list.last)
41
82
 
@@ -26,6 +26,18 @@ class TestRDocAttr < MiniTest::Unit::TestCase
26
26
  assert_nil @a.call_seq
27
27
  end
28
28
 
29
+ def test_definition
30
+ assert_equal 'attr_accessor', @a.definition
31
+
32
+ @a.rw = 'R'
33
+
34
+ assert_equal 'attr_reader', @a.definition
35
+
36
+ @a.rw = 'W'
37
+
38
+ assert_equal 'attr_writer', @a.definition
39
+ end
40
+
29
41
  def test_full_name
30
42
  assert_equal '(unknown)#attr', @a.full_name
31
43
  end
@@ -39,15 +51,10 @@ class TestRDocAttr < MiniTest::Unit::TestCase
39
51
  end
40
52
 
41
53
  def test_type
42
- assert_equal 'attr_accessor', @a.type
43
-
44
- @a.rw = 'R'
45
-
46
- assert_equal 'attr_reader', @a.type
47
-
48
- @a.rw = 'W'
54
+ assert_equal 'instance', @a.type
49
55
 
50
- assert_equal 'attr_writer', @a.type
56
+ @a.singleton = true
57
+ assert_equal 'class', @a.type
51
58
  end
52
59
 
53
60
  end
@@ -92,9 +92,142 @@ class TestRDocClassModule < XrefTestCase
92
92
  assert_equal expected, cm1.method_list.sort
93
93
  end
94
94
 
95
+ def test_remove_nodoc_children
96
+ parent = RDoc::ClassModule.new 'A'
97
+ parent.modules_hash.replace 'B' => true, 'C' => true
98
+ RDoc::TopLevel.all_modules_hash.replace 'A::B' => true
99
+
100
+ parent.classes_hash.replace 'D' => true, 'E' => true
101
+ RDoc::TopLevel.all_classes_hash.replace 'A::D' => true
102
+
103
+ parent.remove_nodoc_children
104
+
105
+ assert_equal %w[B], parent.modules_hash.keys
106
+ assert_equal %w[D], parent.classes_hash.keys
107
+ end
108
+
95
109
  def test_superclass
96
110
  assert_equal @c3_h1, @c3_h2.superclass
97
111
  end
98
112
 
113
+ def test_update_aliases_class
114
+ n1 = @xref_data.add_module RDoc::NormalClass, 'N1'
115
+ n1_k2 = n1.add_module RDoc::NormalClass, 'N2'
116
+
117
+ n1.add_module_alias n1_k2, 'A1'
118
+
119
+ n1_a1_c = n1.constants.find { |c| c.name == 'A1' }
120
+ refute_nil n1_a1_c
121
+ assert_equal n1_k2, n1_a1_c.is_alias_for, 'sanity check'
122
+
123
+ n1.update_aliases
124
+
125
+ n1_a1_k = @xref_data.find_class_or_module 'N1::A1'
126
+ refute_nil n1_a1_k
127
+ assert_equal n1_k2, n1_a1_k.is_alias_for
128
+ refute_equal n1_k2, n1_a1_k
129
+
130
+ assert_equal 1, n1_k2.aliases.length
131
+ assert_equal n1_a1_k, n1_k2.aliases.first
132
+
133
+ assert_equal 'N1::N2', n1_k2.full_name
134
+ assert_equal 'N1::A1', n1_a1_k.full_name
135
+ end
136
+
137
+ def test_update_aliases_module
138
+ n1 = @xref_data.add_module RDoc::NormalModule, 'N1'
139
+ n1_n2 = n1.add_module RDoc::NormalModule, 'N2'
140
+
141
+ n1.add_module_alias n1_n2, 'A1'
142
+
143
+ n1_a1_c = n1.constants.find { |c| c.name == 'A1' }
144
+ refute_nil n1_a1_c
145
+ assert_equal n1_n2, n1_a1_c.is_alias_for, 'sanity check'
146
+
147
+ n1.update_aliases
148
+
149
+ n1_a1_m = @xref_data.find_class_or_module 'N1::A1'
150
+ refute_nil n1_a1_m
151
+ assert_equal n1_n2, n1_a1_m.is_alias_for
152
+ refute_equal n1_n2, n1_a1_m
153
+
154
+ assert_equal 1, n1_n2.aliases.length
155
+ assert_equal n1_a1_m, n1_n2.aliases.first
156
+
157
+ assert_equal 'N1::N2', n1_n2.full_name
158
+ assert_equal 'N1::A1', n1_a1_m.full_name
159
+ end
160
+
161
+ def test_update_aliases_reparent
162
+ l1 = @xref_data.add_module RDoc::NormalModule, 'L1'
163
+ l1_l2 = l1.add_module RDoc::NormalModule, 'L2'
164
+ o1 = @xref_data.add_module RDoc::NormalModule, 'O1'
165
+
166
+ o1.add_module_alias l1_l2, 'A1'
167
+
168
+ o1_a1_c = o1.constants.find { |c| c.name == 'A1' }
169
+ refute_nil o1_a1_c
170
+ assert_equal l1_l2, o1_a1_c.is_alias_for
171
+ refute_equal l1_l2, o1_a1_c
172
+
173
+ o1.update_aliases
174
+
175
+ o1_a1_m = @xref_data.find_class_or_module 'O1::A1'
176
+ refute_nil o1_a1_m
177
+ assert_equal l1_l2, o1_a1_m.is_alias_for
178
+
179
+ assert_equal 1, l1_l2.aliases.length
180
+ assert_equal o1_a1_m, l1_l2.aliases[0]
181
+
182
+ assert_equal 'L1::L2', l1_l2.full_name
183
+ assert_equal 'O1::A1', o1_a1_m.full_name
184
+ end
185
+
186
+ def test_update_includes
187
+ a = RDoc::Include.new 'M1', nil
188
+ b = RDoc::Include.new 'M2', nil
189
+ c = RDoc::Include.new 'C', nil
190
+
191
+ @c1.add_include a
192
+ @c1.add_include b
193
+ @c1.add_include c
194
+ @c1.ancestors # cache included modules
195
+
196
+ @m1_m2.document_self = nil
197
+ assert @m1_m2.remove_from_documentation?
198
+
199
+ assert RDoc::TopLevel.all_modules_hash.key? @m1_m2.full_name
200
+ refute RDoc::TopLevel.all_modules_hash[@m1_m2.full_name].nil?
201
+ RDoc::TopLevel.remove_nodoc RDoc::TopLevel.all_modules_hash
202
+ refute RDoc::TopLevel.all_modules_hash.key? @m1_m2.full_name
203
+
204
+ @c1.update_includes
205
+
206
+ assert_equal [a, c], @c1.includes
207
+ end
208
+
209
+ def test_update_includes_with_colons
210
+ a = RDoc::Include.new 'M1', nil
211
+ b = RDoc::Include.new 'M1::M2', nil
212
+ c = RDoc::Include.new 'C', nil
213
+
214
+ @c1.add_include a
215
+ @c1.add_include b
216
+ @c1.add_include c
217
+ @c1.ancestors # cache included modules
218
+
219
+ @m1_m2.document_self = nil
220
+ assert @m1_m2.remove_from_documentation?
221
+
222
+ assert RDoc::TopLevel.all_modules_hash.key? @m1_m2.full_name
223
+ refute RDoc::TopLevel.all_modules_hash[@m1_m2.full_name].nil?
224
+ RDoc::TopLevel.remove_nodoc RDoc::TopLevel.all_modules_hash
225
+ refute RDoc::TopLevel.all_modules_hash.key? @m1_m2.full_name
226
+
227
+ @c1.update_includes
228
+
229
+ assert_equal [a, c], @c1.includes
230
+ end
231
+
99
232
  end
100
233
 
@@ -16,6 +16,7 @@ class TestRDocCodeObject < XrefTestCase
16
16
  assert @co.document_children, 'document_children'
17
17
  refute @co.force_documentation, 'force_documentation'
18
18
  refute @co.done_documenting, 'done_documenting'
19
+ refute @co.received_nodoc, 'received_nodoc'
19
20
  assert_equal '', @co.comment, 'comment is empty'
20
21
  end
21
22
 
@@ -33,16 +34,20 @@ class TestRDocCodeObject < XrefTestCase
33
34
  @co.document_children = false
34
35
  refute @co.document_children
35
36
 
36
- @c2.document_children = false
37
- assert_empty @c2.classes
37
+ # TODO this is not true anymore:
38
+ # test all the nodoc stuff etc...
39
+ #@c2.document_children = false
40
+ #assert_empty @c2.classes
38
41
  end
39
42
 
40
43
  def test_document_self_equals
41
44
  @co.document_self = false
42
45
  refute @co.document_self
43
46
 
44
- @c1.document_self = false
45
- assert_empty @c1.method_list
47
+ # TODO this is not true anymore:
48
+ # test all the nodoc stuff etc...
49
+ #@c1.document_self = false
50
+ #assert_empty @c1.method_list
46
51
  end
47
52
 
48
53
  def test_documented_eh
@@ -56,11 +61,46 @@ class TestRDocCodeObject < XrefTestCase
56
61
 
57
62
  refute @co.documented?
58
63
 
59
- @co.document_self = false
64
+ @co.document_self = nil # notify :nodoc:
60
65
 
61
66
  assert @co.documented?
62
67
  end
63
68
 
69
+ def test_done_documenting
70
+ # once done_documenting is set, other properties refuse to go to "true"
71
+ @co.done_documenting = true
72
+
73
+ @co.document_self = true
74
+ refute @co.document_self
75
+
76
+ @co.document_children = true
77
+ refute @co.document_children
78
+
79
+ @co.force_documentation = true
80
+ refute @co.force_documentation
81
+
82
+ @co.start_doc
83
+ refute @co.document_self
84
+ refute @co.document_children
85
+
86
+ # turning done_documenting on
87
+ # resets others to true
88
+
89
+ @co.done_documenting = false
90
+ assert @co.document_self
91
+ assert @co.document_children
92
+ end
93
+
94
+ def test_full_name_equals
95
+ @co.full_name = 'hi'
96
+
97
+ assert_equal 'hi', @co.instance_variable_get(:@full_name)
98
+
99
+ @co.full_name = nil
100
+
101
+ assert_nil @co.instance_variable_get(:@full_name)
102
+ end
103
+
64
104
  def test_metadata
65
105
  assert_empty @co.metadata
66
106
 
@@ -84,6 +124,23 @@ class TestRDocCodeObject < XrefTestCase
84
124
  assert_equal 'C2', @c2_c3.parent_name
85
125
  end
86
126
 
127
+ def test_received_ndoc
128
+ @co.document_self = false
129
+ refute @co.received_nodoc
130
+
131
+ @co.document_self = nil
132
+ assert @co.received_nodoc
133
+
134
+ @co.document_self = true
135
+ end
136
+
137
+ def test_record_location
138
+ c = RDoc::CodeObject.new
139
+ c.record_location @xref_data
140
+
141
+ assert_equal 'xref_data.rb', c.file.relative_name
142
+ end
143
+
87
144
  def test_start_doc
88
145
  @co.document_self = false
89
146
  @co.document_children = false