rdoc 4.3.0 → 5.0.0.beta1
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.
- checksums.yaml +4 -4
- data/.gitignore +13 -0
- data/.travis.yml +23 -0
- data/CONTRIBUTING.rdoc +4 -3
- data/Gemfile +3 -0
- data/History.rdoc +15 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +1 -0
- data/Rakefile +41 -79
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +0 -0
- data/{bin → exe}/ri +0 -0
- data/lib/rdoc.rb +2 -1
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +1 -0
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +1 -0
- data/lib/rdoc/code_object.rb +1 -0
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +1 -0
- data/lib/rdoc/constant.rb +1 -0
- data/lib/rdoc/context.rb +4 -1
- data/lib/rdoc/context/section.rb +7 -0
- data/lib/rdoc/cross_reference.rb +1 -0
- data/lib/rdoc/encoding.rb +14 -0
- data/lib/rdoc/erb_partial.rb +1 -0
- data/lib/rdoc/erbio.rb +1 -0
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +1 -0
- data/lib/rdoc/generator/json_index.rb +1 -0
- data/lib/rdoc/generator/markup.rb +1 -0
- data/lib/rdoc/generator/pot.rb +1 -0
- data/lib/rdoc/generator/pot/message_extractor.rb +1 -0
- data/lib/rdoc/generator/pot/po.rb +1 -0
- data/lib/rdoc/generator/pot/po_entry.rb +1 -0
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +2 -1
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +7 -7
- data/lib/rdoc/generator/template/json_index/js/searcher.js +1 -0
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +1 -0
- data/lib/rdoc/i18n/text.rb +1 -0
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown.kpeg +2 -6
- data/lib/rdoc/markdown.rb +2 -6
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +0 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markup.rb +1 -0
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +1 -0
- data/lib/rdoc/markup/attribute_manager.rb +1 -0
- data/lib/rdoc/markup/attributes.rb +1 -0
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +1 -0
- data/lib/rdoc/markup/document.rb +1 -0
- data/lib/rdoc/markup/formatter.rb +1 -0
- data/lib/rdoc/markup/formatter_test_case.rb +1 -4
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +1 -0
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/inline.rb +1 -0
- data/lib/rdoc/markup/list.rb +1 -0
- data/lib/rdoc/markup/list_item.rb +1 -0
- data/lib/rdoc/markup/paragraph.rb +1 -0
- data/lib/rdoc/markup/parser.rb +1 -0
- data/lib/rdoc/markup/pre_process.rb +1 -0
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/special.rb +1 -0
- data/lib/rdoc/markup/text_formatter_test_case.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +1 -0
- data/lib/rdoc/markup/to_html.rb +1 -0
- data/lib/rdoc/markup/to_html_crossref.rb +1 -0
- data/lib/rdoc/markup/to_html_snippet.rb +1 -0
- data/lib/rdoc/markup/to_joined_paragraph.rb +1 -0
- data/lib/rdoc/markup/to_label.rb +1 -0
- data/lib/rdoc/markup/to_markdown.rb +1 -0
- data/lib/rdoc/markup/to_rdoc.rb +1 -0
- data/lib/rdoc/markup/to_table_of_contents.rb +1 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +1 -0
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +1 -0
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +1 -0
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +1 -0
- data/lib/rdoc/parser.rb +1 -0
- data/lib/rdoc/parser/c.rb +76 -33
- data/lib/rdoc/parser/changelog.rb +7 -1
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ruby.rb +1 -0
- data/lib/rdoc/parser/ruby_tools.rb +1 -0
- data/lib/rdoc/parser/simple.rb +1 -0
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rd/inline.rb +1 -0
- data/lib/rdoc/rdoc.rb +2 -1
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/ri/driver.rb +5 -19
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +1 -0
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +72 -0
- data/lib/rdoc/ruby_lex.rb +11 -17
- data/lib/rdoc/ruby_token.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +1 -0
- data/lib/rdoc/servlet.rb +4 -3
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/stats/normal.rb +1 -0
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/store.rb +3 -9
- data/lib/rdoc/task.rb +1 -0
- data/lib/rdoc/test_case.rb +1 -10
- data/lib/rdoc/text.rb +1 -0
- data/lib/rdoc/token_stream.rb +1 -0
- data/lib/rdoc/tom_doc.rb +1 -0
- data/lib/rdoc/top_level.rb +1 -0
- data/rdoc.gemspec +60 -0
- metadata +32 -155
- data/Manifest.txt +0 -309
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
- data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
- data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
- data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
- data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
- data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
- data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
- data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
- data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
- data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
- data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
- data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
- data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
- data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
- data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
- data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
- data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
- data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
- data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
- data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.largedoc +0 -3
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -460
- data/test/test_rdoc_attr.rb +0 -190
- data/test/test_rdoc_class_module.rb +0 -1492
- data/test/test_rdoc_code_object.rb +0 -450
- data/test/test_rdoc_comment.rb +0 -504
- data/test/test_rdoc_constant.rb +0 -181
- data/test/test_rdoc_context.rb +0 -901
- data/test/test_rdoc_context_section.rb +0 -130
- data/test/test_rdoc_cross_reference.rb +0 -192
- data/test/test_rdoc_encoding.rb +0 -227
- data/test/test_rdoc_extend.rb +0 -94
- data/test/test_rdoc_generator_darkfish.rb +0 -229
- data/test/test_rdoc_generator_json_index.rb +0 -324
- data/test/test_rdoc_generator_markup.rb +0 -59
- data/test/test_rdoc_generator_pot.rb +0 -91
- data/test/test_rdoc_generator_pot_po.rb +0 -51
- data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
- data/test/test_rdoc_generator_ri.rb +0 -78
- data/test/test_rdoc_i18n_locale.rb +0 -73
- data/test/test_rdoc_i18n_text.rb +0 -123
- data/test/test_rdoc_include.rb +0 -108
- data/test/test_rdoc_markdown.rb +0 -980
- data/test/test_rdoc_markdown_test.rb +0 -1884
- data/test/test_rdoc_markup.rb +0 -95
- data/test/test_rdoc_markup_attribute_manager.rb +0 -364
- data/test/test_rdoc_markup_attributes.rb +0 -39
- data/test/test_rdoc_markup_document.rb +0 -207
- data/test/test_rdoc_markup_formatter.rb +0 -175
- data/test/test_rdoc_markup_hard_break.rb +0 -31
- data/test/test_rdoc_markup_heading.rb +0 -29
- data/test/test_rdoc_markup_include.rb +0 -19
- data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
- data/test/test_rdoc_markup_paragraph.rb +0 -32
- data/test/test_rdoc_markup_parser.rb +0 -1680
- data/test/test_rdoc_markup_pre_process.rb +0 -473
- data/test/test_rdoc_markup_raw.rb +0 -22
- data/test/test_rdoc_markup_to_ansi.rb +0 -369
- data/test/test_rdoc_markup_to_bs.rb +0 -366
- data/test/test_rdoc_markup_to_html.rb +0 -662
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
- data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
- data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
- data/test/test_rdoc_markup_to_label.rb +0 -112
- data/test/test_rdoc_markup_to_markdown.rb +0 -389
- data/test/test_rdoc_markup_to_rdoc.rb +0 -377
- data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
- data/test/test_rdoc_markup_to_tt_only.rb +0 -246
- data/test/test_rdoc_markup_verbatim.rb +0 -29
- data/test/test_rdoc_method_attr.rb +0 -193
- data/test/test_rdoc_normal_class.rb +0 -47
- data/test/test_rdoc_normal_module.rb +0 -42
- data/test/test_rdoc_options.rb +0 -766
- data/test/test_rdoc_parser.rb +0 -327
- data/test/test_rdoc_parser_c.rb +0 -1896
- data/test/test_rdoc_parser_changelog.rb +0 -315
- data/test/test_rdoc_parser_markdown.rb +0 -61
- data/test/test_rdoc_parser_rd.rb +0 -55
- data/test/test_rdoc_parser_ruby.rb +0 -3322
- data/test/test_rdoc_parser_simple.rb +0 -115
- data/test/test_rdoc_rd.rb +0 -30
- data/test/test_rdoc_rd_block_parser.rb +0 -535
- data/test/test_rdoc_rd_inline.rb +0 -63
- data/test/test_rdoc_rd_inline_parser.rb +0 -177
- data/test/test_rdoc_rdoc.rb +0 -455
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -1436
- data/test/test_rdoc_ri_paths.rb +0 -155
- data/test/test_rdoc_ruby_lex.rb +0 -421
- data/test/test_rdoc_ruby_token.rb +0 -19
- data/test/test_rdoc_rubygems_hook.rb +0 -251
- data/test/test_rdoc_servlet.rb +0 -534
- data/test/test_rdoc_single_class.rb +0 -20
- data/test/test_rdoc_stats.rb +0 -722
- data/test/test_rdoc_store.rb +0 -993
- data/test/test_rdoc_task.rb +0 -173
- data/test/test_rdoc_text.rb +0 -557
- data/test/test_rdoc_token_stream.rb +0 -42
- data/test/test_rdoc_tom_doc.rb +0 -520
- data/test/test_rdoc_top_level.rb +0 -287
- data/test/xref_data.rb +0 -76
- data/test/xref_test_case.rb +0 -67
data/test/test_rdoc_constant.rb
DELETED
@@ -1,181 +0,0 @@
|
|
1
|
-
require File.expand_path '../xref_test_case', __FILE__
|
2
|
-
|
3
|
-
class TestRDocConstant < XrefTestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@const = @c1.constants.first
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_documented_eh
|
12
|
-
top_level = @store.add_file 'file.rb'
|
13
|
-
|
14
|
-
const = RDoc::Constant.new 'CONST', nil, nil
|
15
|
-
top_level.add_constant const
|
16
|
-
|
17
|
-
refute const.documented?
|
18
|
-
|
19
|
-
const.comment = comment 'comment'
|
20
|
-
|
21
|
-
assert const.documented?
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_documented_eh_alias
|
25
|
-
top_level = @store.add_file 'file.rb'
|
26
|
-
|
27
|
-
const = RDoc::Constant.new 'CONST', nil, nil
|
28
|
-
top_level.add_constant const
|
29
|
-
|
30
|
-
refute const.documented?
|
31
|
-
|
32
|
-
const.is_alias_for = 'C1'
|
33
|
-
|
34
|
-
refute const.documented?
|
35
|
-
|
36
|
-
@c1.add_comment comment('comment'), @top_level
|
37
|
-
|
38
|
-
assert const.documented?
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_full_name
|
42
|
-
assert_equal 'C1::CONST', @const.full_name
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_is_alias_for
|
46
|
-
top_level = @store.add_file 'file.rb'
|
47
|
-
|
48
|
-
c = RDoc::Constant.new 'CONST', nil, 'comment'
|
49
|
-
top_level.add_constant c
|
50
|
-
|
51
|
-
assert_nil c.is_alias_for
|
52
|
-
|
53
|
-
c.is_alias_for = 'C1'
|
54
|
-
|
55
|
-
assert_equal @c1, c.is_alias_for
|
56
|
-
|
57
|
-
c.is_alias_for = 'unknown'
|
58
|
-
|
59
|
-
assert_equal 'unknown', c.is_alias_for
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_marshal_dump
|
63
|
-
top_level = @store.add_file 'file.rb'
|
64
|
-
|
65
|
-
c = RDoc::Constant.new 'CONST', nil, 'this is a comment'
|
66
|
-
c.record_location top_level
|
67
|
-
|
68
|
-
aliased = top_level.add_class RDoc::NormalClass, 'Aliased'
|
69
|
-
c.is_alias_for = aliased
|
70
|
-
|
71
|
-
cm = top_level.add_class RDoc::NormalClass, 'Klass'
|
72
|
-
cm.add_constant c
|
73
|
-
|
74
|
-
section = cm.sections.first
|
75
|
-
|
76
|
-
loaded = Marshal.load Marshal.dump c
|
77
|
-
loaded.store = @store
|
78
|
-
|
79
|
-
comment = doc(para('this is a comment'))
|
80
|
-
|
81
|
-
assert_equal c, loaded
|
82
|
-
|
83
|
-
assert_equal aliased, loaded.is_alias_for
|
84
|
-
assert_equal comment, loaded.comment
|
85
|
-
assert_equal top_level, loaded.file
|
86
|
-
assert_equal 'Klass::CONST', loaded.full_name
|
87
|
-
assert_equal 'CONST', loaded.name
|
88
|
-
assert_nil loaded.visibility
|
89
|
-
assert_equal cm, loaded.parent
|
90
|
-
assert_equal section, loaded.section
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_marshal_load
|
94
|
-
top_level = @store.add_file 'file.rb'
|
95
|
-
|
96
|
-
c = RDoc::Constant.new 'CONST', nil, 'this is a comment'
|
97
|
-
c.record_location top_level
|
98
|
-
|
99
|
-
cm = top_level.add_class RDoc::NormalClass, 'Klass'
|
100
|
-
cm.add_constant c
|
101
|
-
|
102
|
-
section = cm.sections.first
|
103
|
-
|
104
|
-
loaded = Marshal.load Marshal.dump c
|
105
|
-
loaded.store = @store
|
106
|
-
|
107
|
-
comment = doc(para('this is a comment'))
|
108
|
-
|
109
|
-
assert_equal c, loaded
|
110
|
-
|
111
|
-
assert_nil loaded.is_alias_for
|
112
|
-
assert_equal comment, loaded.comment
|
113
|
-
assert_equal top_level, loaded.file
|
114
|
-
assert_equal 'Klass::CONST', loaded.full_name
|
115
|
-
assert_equal 'CONST', loaded.name
|
116
|
-
assert_nil loaded.visibility
|
117
|
-
assert_equal cm, loaded.parent
|
118
|
-
assert_equal section, loaded.section
|
119
|
-
|
120
|
-
assert loaded.display?
|
121
|
-
end
|
122
|
-
|
123
|
-
def test_marshal_load_version_0
|
124
|
-
top_level = @store.add_file 'file.rb'
|
125
|
-
|
126
|
-
aliased = top_level.add_class RDoc::NormalClass, 'Aliased'
|
127
|
-
cm = top_level.add_class RDoc::NormalClass, 'Klass'
|
128
|
-
section = cm.sections.first
|
129
|
-
|
130
|
-
loaded = Marshal.load "\x04\bU:\x13RDoc::Constant[\x0Fi\x00I" +
|
131
|
-
"\"\nCONST\x06:\x06ETI\"\x11Klass::CONST\x06" +
|
132
|
-
";\x06T0I\"\fAliased\x06;\x06To" +
|
133
|
-
":\eRDoc::Markup::Document\a:\v@parts[\x06o" +
|
134
|
-
":\x1CRDoc::Markup::Paragraph\x06;\b[\x06I" +
|
135
|
-
"\"\x16this is a comment\x06;\x06T:\n@file0I" +
|
136
|
-
"\"\ffile.rb\x06;\x06TI\"\nKlass\x06" +
|
137
|
-
";\x06Tc\x16RDoc::NormalClass0"
|
138
|
-
|
139
|
-
loaded.store = @store
|
140
|
-
|
141
|
-
comment = doc(para('this is a comment'))
|
142
|
-
|
143
|
-
assert_equal aliased, loaded.is_alias_for
|
144
|
-
assert_equal comment, loaded.comment
|
145
|
-
assert_equal top_level, loaded.file
|
146
|
-
assert_equal 'Klass::CONST', loaded.full_name
|
147
|
-
assert_equal 'CONST', loaded.name
|
148
|
-
assert_nil loaded.visibility
|
149
|
-
assert_equal cm, loaded.parent
|
150
|
-
assert_equal section, loaded.section
|
151
|
-
|
152
|
-
assert loaded.display?
|
153
|
-
end
|
154
|
-
|
155
|
-
def test_marshal_round_trip
|
156
|
-
top_level = @store.add_file 'file.rb'
|
157
|
-
|
158
|
-
c = RDoc::Constant.new 'CONST', nil, 'this is a comment'
|
159
|
-
c.record_location top_level
|
160
|
-
c.is_alias_for = 'Unknown'
|
161
|
-
|
162
|
-
cm = top_level.add_class RDoc::NormalClass, 'Klass'
|
163
|
-
cm.add_constant c
|
164
|
-
|
165
|
-
section = cm.sections.first
|
166
|
-
|
167
|
-
loaded = Marshal.load Marshal.dump c
|
168
|
-
loaded.store = @store
|
169
|
-
|
170
|
-
reloaded = Marshal.load Marshal.dump loaded
|
171
|
-
reloaded.store = @store
|
172
|
-
|
173
|
-
assert_equal section, reloaded.section
|
174
|
-
assert_equal 'Unknown', reloaded.is_alias_for
|
175
|
-
end
|
176
|
-
|
177
|
-
def test_path
|
178
|
-
assert_equal 'C1.html#CONST', @const.path
|
179
|
-
end
|
180
|
-
|
181
|
-
end
|
data/test/test_rdoc_context.rb
DELETED
@@ -1,901 +0,0 @@
|
|
1
|
-
require File.expand_path '../xref_test_case', __FILE__
|
2
|
-
|
3
|
-
class TestRDocContext < XrefTestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@context = RDoc::Context.new
|
9
|
-
@context.store = @store
|
10
|
-
|
11
|
-
@enumerator = # 1.8 vs 1.9
|
12
|
-
Object.const_defined?(:Enumerator) ? Enumerator : Enumerable::Enumerator
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_initialize
|
16
|
-
assert_empty @context.in_files
|
17
|
-
assert_equal 'unknown', @context.name
|
18
|
-
assert_equal '', @context.comment
|
19
|
-
assert_equal nil, @context.parent
|
20
|
-
assert_equal :public, @context.visibility
|
21
|
-
assert_equal 1, @context.sections.length
|
22
|
-
assert_equal nil, @context.temporary_section
|
23
|
-
|
24
|
-
assert_empty @context.classes_hash
|
25
|
-
assert_empty @context.modules_hash
|
26
|
-
|
27
|
-
assert_empty @context.method_list
|
28
|
-
assert_empty @context.attributes
|
29
|
-
assert_empty @context.aliases
|
30
|
-
assert_empty @context.requires
|
31
|
-
assert_empty @context.includes
|
32
|
-
assert_empty @context.constants
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_add_alias
|
36
|
-
as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
|
37
|
-
|
38
|
-
@context.add_alias as
|
39
|
-
|
40
|
-
assert_equal [as], @context.external_aliases
|
41
|
-
assert_equal [as], @context.unmatched_alias_lists['#old_name']
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_add
|
45
|
-
@context.add RDoc::Extend, 'Ext', 'comment'
|
46
|
-
@context.add RDoc::Include, 'Incl', 'comment'
|
47
|
-
|
48
|
-
refute_empty @context.extends
|
49
|
-
refute_empty @context.includes
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_add_alias_method_attr
|
53
|
-
top_level = @store.add_file 'file.rb'
|
54
|
-
|
55
|
-
attr = RDoc::Attr.new nil, 'old_name', 'R', ''
|
56
|
-
|
57
|
-
as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
|
58
|
-
as.record_location top_level
|
59
|
-
as.parent = @context
|
60
|
-
|
61
|
-
@context.add_attribute attr
|
62
|
-
@context.add_alias as
|
63
|
-
|
64
|
-
assert_empty @context.aliases
|
65
|
-
assert_empty @context.unmatched_alias_lists
|
66
|
-
assert_equal %w[old_name new_name], @context.attributes.map { |m| m.name }
|
67
|
-
|
68
|
-
new = @context.attributes.last
|
69
|
-
assert_equal top_level, new.file
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_add_alias_method
|
73
|
-
top_level = @store.add_file 'file.rb'
|
74
|
-
|
75
|
-
meth = RDoc::AnyMethod.new nil, 'old_name'
|
76
|
-
meth.singleton = false
|
77
|
-
|
78
|
-
as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
|
79
|
-
as.record_location top_level
|
80
|
-
as.parent = @context
|
81
|
-
|
82
|
-
@context.add_method meth
|
83
|
-
@context.add_alias as
|
84
|
-
|
85
|
-
assert_empty @context.aliases
|
86
|
-
assert_empty @context.unmatched_alias_lists
|
87
|
-
assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
|
88
|
-
|
89
|
-
new = @context.method_list.last
|
90
|
-
assert_equal top_level, new.file
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_add_alias_method_singleton
|
94
|
-
meth = RDoc::AnyMethod.new nil, 'old_name'
|
95
|
-
meth.singleton = true
|
96
|
-
|
97
|
-
as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
|
98
|
-
as.singleton = true
|
99
|
-
|
100
|
-
as.parent = @context
|
101
|
-
|
102
|
-
@context.add_method meth
|
103
|
-
@context.add_alias as
|
104
|
-
|
105
|
-
assert_empty @context.aliases
|
106
|
-
assert_empty @context.unmatched_alias_lists
|
107
|
-
assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
|
108
|
-
|
109
|
-
assert @context.method_list.last.singleton
|
110
|
-
end
|
111
|
-
|
112
|
-
def test_add_class
|
113
|
-
@c1.add_class RDoc::NormalClass, 'Klass', 'Object'
|
114
|
-
|
115
|
-
assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass'
|
116
|
-
assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass'
|
117
|
-
end
|
118
|
-
|
119
|
-
def test_add_class_basic_object
|
120
|
-
skip 'BasicObject is 1.9 only' unless defined?(BasicObject)
|
121
|
-
|
122
|
-
@xref_data.add_class RDoc::NormalClass, 'BasicObject'
|
123
|
-
|
124
|
-
basic = @xref_data.find_module_named 'BasicObject'
|
125
|
-
|
126
|
-
assert_nil basic.superclass
|
127
|
-
|
128
|
-
@c1.add_class RDoc::NormalClass, 'BasicObject'
|
129
|
-
|
130
|
-
basic = @c1.find_module_named 'BasicObject'
|
131
|
-
|
132
|
-
assert_equal 'Object', basic.superclass
|
133
|
-
end
|
134
|
-
|
135
|
-
def test_add_class_object
|
136
|
-
root_class = defined?(BasicObject) ? 'BasicObject' : nil
|
137
|
-
|
138
|
-
@xref_data.add_class RDoc::NormalClass, 'Object'
|
139
|
-
|
140
|
-
object = @xref_data.find_module_named 'Object'
|
141
|
-
|
142
|
-
assert_equal root_class, object.superclass
|
143
|
-
|
144
|
-
@c1.add_class RDoc::NormalClass, 'Object'
|
145
|
-
|
146
|
-
object = @c1.find_module_named 'Object'
|
147
|
-
|
148
|
-
assert_equal 'Object', object.superclass.full_name
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_add_class_singleton
|
152
|
-
@c1.add_class RDoc::NormalClass, 'Klass', 'Object'
|
153
|
-
|
154
|
-
assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass'
|
155
|
-
assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass'
|
156
|
-
end
|
157
|
-
|
158
|
-
def test_add_class_superclass
|
159
|
-
@c1.add_class RDoc::NormalClass, 'Klass', 'Object'
|
160
|
-
@c1.add_class RDoc::NormalClass, 'Klass', 'Other'
|
161
|
-
@c1.add_class RDoc::NormalClass, 'Klass', 'Object'
|
162
|
-
|
163
|
-
klass = @c1.find_module_named 'Klass'
|
164
|
-
assert_equal 'Other', klass.superclass
|
165
|
-
end
|
166
|
-
|
167
|
-
def test_add_class_upgrade
|
168
|
-
@c1.add_module RDoc::NormalModule, 'Klass'
|
169
|
-
@c1.add_class RDoc::NormalClass, 'Klass', nil
|
170
|
-
|
171
|
-
assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass',
|
172
|
-
'c1 classes'
|
173
|
-
refute_includes @c1.modules.map { |k| k.full_name }, 'C1::Klass',
|
174
|
-
'c1 modules'
|
175
|
-
|
176
|
-
assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass',
|
177
|
-
'TopLevel classes'
|
178
|
-
refute_includes @store.all_modules.map { |k| k.full_name }, 'C1::Klass',
|
179
|
-
'TopLevel modules'
|
180
|
-
end
|
181
|
-
|
182
|
-
def test_add_constant
|
183
|
-
const = RDoc::Constant.new 'NAME', 'value', 'comment'
|
184
|
-
@context.add_constant const
|
185
|
-
|
186
|
-
assert_equal [const], @context.constants
|
187
|
-
end
|
188
|
-
|
189
|
-
def test_add_extend
|
190
|
-
ext = RDoc::Extend.new 'Name', 'comment'
|
191
|
-
@context.add_extend ext
|
192
|
-
|
193
|
-
assert_equal [ext], @context.extends
|
194
|
-
end
|
195
|
-
|
196
|
-
def test_add_include
|
197
|
-
incl = RDoc::Include.new 'Name', 'comment'
|
198
|
-
@context.add_include incl
|
199
|
-
|
200
|
-
assert_equal [incl], @context.includes
|
201
|
-
end
|
202
|
-
|
203
|
-
def test_add_method
|
204
|
-
meth = RDoc::AnyMethod.new nil, 'old_name'
|
205
|
-
meth.visibility = nil
|
206
|
-
|
207
|
-
@context.add_method meth
|
208
|
-
|
209
|
-
assert_equal [meth], @context.method_list
|
210
|
-
assert_equal :public, meth.visibility
|
211
|
-
end
|
212
|
-
|
213
|
-
def test_add_method_alias
|
214
|
-
as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
|
215
|
-
meth = RDoc::AnyMethod.new nil, 'old_name'
|
216
|
-
|
217
|
-
@context.add_alias as
|
218
|
-
refute_empty @context.external_aliases
|
219
|
-
|
220
|
-
@context.add_method meth
|
221
|
-
|
222
|
-
assert_empty @context.external_aliases
|
223
|
-
assert_empty @context.unmatched_alias_lists
|
224
|
-
assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
|
225
|
-
end
|
226
|
-
|
227
|
-
def test_add_method_duplicate
|
228
|
-
@store.rdoc.options.verbosity = 2
|
229
|
-
|
230
|
-
meth1 = RDoc::AnyMethod.new nil, 'name'
|
231
|
-
meth1.record_location @store.add_file 'first.rb'
|
232
|
-
meth1.visibility = nil
|
233
|
-
meth1.comment = comment 'first'
|
234
|
-
|
235
|
-
@context.add_method meth1
|
236
|
-
|
237
|
-
meth2 = RDoc::AnyMethod.new nil, 'name'
|
238
|
-
meth2.record_location @store.add_file 'second.rb'
|
239
|
-
meth2.comment = comment 'second'
|
240
|
-
|
241
|
-
_, err = verbose_capture_io do
|
242
|
-
@context.add_method meth2
|
243
|
-
end
|
244
|
-
|
245
|
-
expected = 'Duplicate method (unknown)#name in file second.rb, ' \
|
246
|
-
'previously in file first.rb'
|
247
|
-
|
248
|
-
assert_equal expected, err.chomp
|
249
|
-
|
250
|
-
method = @context.method_list.first
|
251
|
-
|
252
|
-
assert_equal 'first', method.comment.text
|
253
|
-
end
|
254
|
-
|
255
|
-
def test_add_method_duplicate_loading
|
256
|
-
@context.store = nil
|
257
|
-
|
258
|
-
meth1 = RDoc::AnyMethod.new nil, 'name'
|
259
|
-
meth1.record_location @store.add_file 'first.rb'
|
260
|
-
meth1.visibility = nil
|
261
|
-
meth1.comment = comment 'first'
|
262
|
-
|
263
|
-
@context.add_method meth1
|
264
|
-
|
265
|
-
meth2 = RDoc::AnyMethod.new nil, 'name'
|
266
|
-
meth2.record_location @store.add_file 'second.rb'
|
267
|
-
meth2.comment = comment 'second'
|
268
|
-
|
269
|
-
_, err = verbose_capture_io do
|
270
|
-
@context.add_method meth2
|
271
|
-
end
|
272
|
-
|
273
|
-
assert_empty err
|
274
|
-
|
275
|
-
method = @context.method_list.first
|
276
|
-
|
277
|
-
assert_equal 'first', method.comment.text
|
278
|
-
end
|
279
|
-
|
280
|
-
def test_add_module
|
281
|
-
@c1.add_module RDoc::NormalModule, 'Mod'
|
282
|
-
|
283
|
-
assert_includes @c1.modules.map { |m| m.full_name }, 'C1::Mod'
|
284
|
-
end
|
285
|
-
|
286
|
-
def test_add_module_alias
|
287
|
-
tl = @store.add_file 'file.rb'
|
288
|
-
|
289
|
-
c3_c4 = @c2.add_module_alias @c2_c3, 'C4', tl
|
290
|
-
|
291
|
-
alias_constant = @c2.constants.first
|
292
|
-
|
293
|
-
assert_equal 'C2::C4', c3_c4.full_name
|
294
|
-
assert_equal tl, alias_constant.file
|
295
|
-
end
|
296
|
-
|
297
|
-
def test_add_module_alias_top_level
|
298
|
-
store = RDoc::Store.new
|
299
|
-
|
300
|
-
top_level = store.add_file 'file.rb'
|
301
|
-
|
302
|
-
klass = top_level.add_class RDoc::NormalClass, 'Klass'
|
303
|
-
klass.comment = 'klass comment'
|
304
|
-
|
305
|
-
object = top_level.add_class RDoc::NormalClass, 'Object'
|
306
|
-
|
307
|
-
top_level.add_module_alias klass, 'A', top_level
|
308
|
-
|
309
|
-
refute_empty object.constants
|
310
|
-
|
311
|
-
constant = object.constants.first
|
312
|
-
|
313
|
-
assert_equal 'klass comment', constant.comment
|
314
|
-
end
|
315
|
-
|
316
|
-
def test_add_module_class
|
317
|
-
k = @c1.add_class RDoc::NormalClass, 'Klass', nil
|
318
|
-
m = @c1.add_module RDoc::NormalModule, 'Klass'
|
319
|
-
|
320
|
-
assert_equal k, m, 'returns class'
|
321
|
-
assert_empty @c1.modules
|
322
|
-
end
|
323
|
-
|
324
|
-
def test_add_require
|
325
|
-
req = RDoc::Require.new 'require', 'comment'
|
326
|
-
@c1.add_require req
|
327
|
-
|
328
|
-
assert_empty @c1.requires
|
329
|
-
assert_includes @c1.top_level.requires, req
|
330
|
-
end
|
331
|
-
|
332
|
-
def test_add_section
|
333
|
-
default_section = @context.sections.first
|
334
|
-
|
335
|
-
@context.add_section nil, comment('comment', @top_level)
|
336
|
-
|
337
|
-
assert_equal 1, @context.sections.length
|
338
|
-
assert_equal [comment("comment", @top_level)],
|
339
|
-
@context.sections.first.comments
|
340
|
-
|
341
|
-
@context.add_section nil, comment('new comment', @top_level)
|
342
|
-
|
343
|
-
assert_equal 1, @context.sections.length
|
344
|
-
assert_equal [comment('comment', @top_level),
|
345
|
-
comment('new comment', @top_level)],
|
346
|
-
@context.sections.first.comments
|
347
|
-
|
348
|
-
@context.add_section 'other', comment('', @top_level)
|
349
|
-
|
350
|
-
assert_equal 2, @context.sections.length
|
351
|
-
|
352
|
-
new_section = @context.sections.find { |section| section.title == 'other' }
|
353
|
-
assert new_section
|
354
|
-
assert_equal default_section, @context.current_section
|
355
|
-
end
|
356
|
-
|
357
|
-
def test_add_section_no_comment
|
358
|
-
default_section = @context.sections.first
|
359
|
-
|
360
|
-
@context.add_section nil
|
361
|
-
|
362
|
-
assert_equal 1, @context.sections.length
|
363
|
-
|
364
|
-
@context.add_section 'other'
|
365
|
-
|
366
|
-
assert_equal 2, @context.sections.length
|
367
|
-
|
368
|
-
new_section = @context.sections.find { |section| section.title == 'other' }
|
369
|
-
|
370
|
-
assert new_section
|
371
|
-
assert_equal default_section, @context.current_section
|
372
|
-
end
|
373
|
-
|
374
|
-
def test_add_to
|
375
|
-
incl = RDoc::Include.new 'Name', 'comment'
|
376
|
-
arr = []
|
377
|
-
@context.add_to arr, incl
|
378
|
-
|
379
|
-
assert_includes arr, incl
|
380
|
-
assert_equal @context, incl.parent
|
381
|
-
assert_equal @context.current_section, incl.section
|
382
|
-
end
|
383
|
-
|
384
|
-
def test_add_to_temporary_section
|
385
|
-
incl = RDoc::Include.new 'Name', 'comment'
|
386
|
-
arr = []
|
387
|
-
section =
|
388
|
-
@context.add_section 'temporary', RDoc::Comment.new('', @top_level)
|
389
|
-
@context.temporary_section = section
|
390
|
-
|
391
|
-
@context.add_to arr, incl
|
392
|
-
|
393
|
-
assert_includes arr, incl
|
394
|
-
assert_equal @context, incl.parent
|
395
|
-
assert_equal section, incl.section
|
396
|
-
end
|
397
|
-
|
398
|
-
def test_add_to_no_document_self
|
399
|
-
incl = RDoc::Include.new 'Name', 'comment'
|
400
|
-
arr = []
|
401
|
-
@context.document_self = false
|
402
|
-
@context.add_to arr, incl
|
403
|
-
|
404
|
-
refute_includes arr, incl
|
405
|
-
end
|
406
|
-
|
407
|
-
def test_add_to_done_documenting
|
408
|
-
incl = RDoc::Include.new 'Name', 'comment'
|
409
|
-
arr = []
|
410
|
-
@context.done_documenting = true
|
411
|
-
@context.add_to arr, incl
|
412
|
-
|
413
|
-
refute_includes arr, incl
|
414
|
-
end
|
415
|
-
|
416
|
-
def bench_add_include
|
417
|
-
cm = RDoc::ClassModule.new 'Klass'
|
418
|
-
|
419
|
-
assert_performance_linear 0.9 do |count|
|
420
|
-
count.times do |i|
|
421
|
-
cm.add_include RDoc::Include.new("N::M#{i}", nil)
|
422
|
-
end
|
423
|
-
end
|
424
|
-
end
|
425
|
-
|
426
|
-
def test_child_name
|
427
|
-
assert_equal 'C1::C1', @c1.child_name('C1')
|
428
|
-
end
|
429
|
-
|
430
|
-
def test_classes
|
431
|
-
assert_equal %w[C2::C3], @c2.classes.map { |k| k.full_name }
|
432
|
-
assert_equal %w[C3::H1 C3::H2], @c3.classes.map { |k| k.full_name }.sort
|
433
|
-
end
|
434
|
-
|
435
|
-
def test_current_section
|
436
|
-
default_section = @context.current_section
|
437
|
-
|
438
|
-
new_section =
|
439
|
-
@context.add_section 'other', RDoc::Comment.new('', @top_level)
|
440
|
-
@context.temporary_section = new_section
|
441
|
-
|
442
|
-
assert_equal new_section, @context.current_section
|
443
|
-
assert_equal default_section, @context.current_section
|
444
|
-
end
|
445
|
-
|
446
|
-
def test_defined_in_eh
|
447
|
-
assert @c1.defined_in?(@c1.top_level)
|
448
|
-
|
449
|
-
refute @c1.defined_in?(@store.add_file('name.rb'))
|
450
|
-
end
|
451
|
-
|
452
|
-
def test_equals2
|
453
|
-
assert_equal @c3, @c3
|
454
|
-
refute_equal @c2, @c3
|
455
|
-
refute_equal @c2_c3, @c3
|
456
|
-
end
|
457
|
-
|
458
|
-
def test_each_method_enumerator
|
459
|
-
assert_kind_of @enumerator, @c1.each_method
|
460
|
-
end
|
461
|
-
|
462
|
-
def test_each_section
|
463
|
-
sects = []
|
464
|
-
consts = []
|
465
|
-
attrs = []
|
466
|
-
|
467
|
-
@c1.each_section do |section, constants, attributes|
|
468
|
-
sects << section
|
469
|
-
consts << constants
|
470
|
-
attrs << attributes
|
471
|
-
end
|
472
|
-
|
473
|
-
assert_equal [nil, 'separate'], sects.map { |section| section.title }
|
474
|
-
|
475
|
-
expected_consts = [
|
476
|
-
[@c1.constants.first],
|
477
|
-
[],
|
478
|
-
]
|
479
|
-
|
480
|
-
assert_equal expected_consts, consts
|
481
|
-
|
482
|
-
expected_attrs = [
|
483
|
-
[@c1.attributes[0], @c1.attributes[3]],
|
484
|
-
[@c1.attributes[1], @c1.attributes[2]],
|
485
|
-
]
|
486
|
-
|
487
|
-
assert_equal expected_attrs, attrs
|
488
|
-
end
|
489
|
-
|
490
|
-
def test_each_section_enumerator
|
491
|
-
assert_kind_of @enumerator, @c1.each_section
|
492
|
-
end
|
493
|
-
|
494
|
-
def test_find_attribute_named
|
495
|
-
assert_equal nil, @c1.find_attribute_named('none')
|
496
|
-
assert_equal 'R', @c1.find_attribute_named('attr').rw
|
497
|
-
assert_equal 'R', @c1.find_attribute_named('attr_reader').rw
|
498
|
-
assert_equal 'W', @c1.find_attribute_named('attr_writer').rw
|
499
|
-
assert_equal 'RW', @c1.find_attribute_named('attr_accessor').rw
|
500
|
-
end
|
501
|
-
|
502
|
-
def test_find_class_method_named
|
503
|
-
assert_equal nil, @c1.find_class_method_named('none')
|
504
|
-
|
505
|
-
m = @c1.find_class_method_named('m')
|
506
|
-
assert_instance_of RDoc::AnyMethod, m
|
507
|
-
assert m.singleton
|
508
|
-
end
|
509
|
-
|
510
|
-
def test_find_constant_named
|
511
|
-
assert_equal nil, @c1.find_constant_named('NONE')
|
512
|
-
assert_equal ':const', @c1.find_constant_named('CONST').value
|
513
|
-
end
|
514
|
-
|
515
|
-
def test_find_enclosing_module_named
|
516
|
-
assert_equal nil, @c2_c3.find_enclosing_module_named('NONE')
|
517
|
-
assert_equal @c1, @c2_c3.find_enclosing_module_named('C1')
|
518
|
-
assert_equal @c2, @c2_c3.find_enclosing_module_named('C2')
|
519
|
-
end
|
520
|
-
|
521
|
-
def test_find_file_named
|
522
|
-
assert_equal nil, @c1.find_file_named('nonexistent.rb')
|
523
|
-
assert_equal @xref_data, @c1.find_file_named(@file_name)
|
524
|
-
end
|
525
|
-
|
526
|
-
def test_find_instance_method_named
|
527
|
-
assert_equal nil, @c1.find_instance_method_named('none')
|
528
|
-
|
529
|
-
m = @c1.find_instance_method_named('m')
|
530
|
-
assert_instance_of RDoc::AnyMethod, m
|
531
|
-
refute m.singleton
|
532
|
-
end
|
533
|
-
|
534
|
-
def test_find_local_symbol
|
535
|
-
assert_equal true, @c1.find_local_symbol('m').singleton
|
536
|
-
assert_equal ':const', @c1.find_local_symbol('CONST').value
|
537
|
-
assert_equal 'R', @c1.find_local_symbol('attr').rw
|
538
|
-
assert_equal @xref_data, @c1.find_local_symbol(@file_name)
|
539
|
-
assert_equal @c2_c3, @c2.find_local_symbol('C3')
|
540
|
-
end
|
541
|
-
|
542
|
-
def test_find_method_named
|
543
|
-
assert_equal true, @c1.find_method_named('m').singleton
|
544
|
-
end
|
545
|
-
|
546
|
-
def test_find_module_named
|
547
|
-
assert_equal @c2_c3, @c2.find_module_named('C3')
|
548
|
-
assert_equal @c2, @c2.find_module_named('C2')
|
549
|
-
assert_equal @c1, @c2.find_module_named('C1')
|
550
|
-
|
551
|
-
assert_equal 'C2::C3', @c2.find_module_named('C3').full_name
|
552
|
-
end
|
553
|
-
|
554
|
-
def test_find_symbol
|
555
|
-
c3 = @xref_data.find_module_named('C3')
|
556
|
-
assert_equal c3, @xref_data.find_symbol('C3')
|
557
|
-
assert_equal c3, @c2.find_symbol('::C3')
|
558
|
-
assert_equal @c2_c3, @c2.find_symbol('C3')
|
559
|
-
end
|
560
|
-
|
561
|
-
def test_find_symbol_method
|
562
|
-
assert_equal @c1__m, @c1.find_symbol('m')
|
563
|
-
assert_equal @c1_m, @c1.find_symbol('#m')
|
564
|
-
assert_equal @c1__m, @c1.find_symbol('::m')
|
565
|
-
end
|
566
|
-
|
567
|
-
def test_find_symbol_module
|
568
|
-
assert_nil @m1_m2.find_symbol_module 'N'
|
569
|
-
assert_nil @m1_m2.find_symbol_module 'M2::M1'
|
570
|
-
|
571
|
-
@m1_m2.parent = nil # loaded from legacy ri store
|
572
|
-
|
573
|
-
assert_nil @m1_m2.find_symbol_module 'N'
|
574
|
-
assert_nil @m1_m2.find_symbol_module 'M2::M1'
|
575
|
-
end
|
576
|
-
|
577
|
-
def test_fully_documented_eh
|
578
|
-
context = RDoc::Context.new
|
579
|
-
|
580
|
-
refute context.fully_documented?
|
581
|
-
|
582
|
-
context.comment = 'hi'
|
583
|
-
|
584
|
-
assert context.fully_documented?
|
585
|
-
|
586
|
-
m = @c1_m
|
587
|
-
|
588
|
-
context.add_method m
|
589
|
-
|
590
|
-
refute context.fully_documented?
|
591
|
-
|
592
|
-
m.comment = 'hi'
|
593
|
-
|
594
|
-
assert context.fully_documented?
|
595
|
-
|
596
|
-
c = RDoc::Constant.new 'C', '0', nil
|
597
|
-
|
598
|
-
context.add_constant c
|
599
|
-
|
600
|
-
refute context.fully_documented?
|
601
|
-
|
602
|
-
c.comment = 'hi'
|
603
|
-
|
604
|
-
assert context.fully_documented?
|
605
|
-
|
606
|
-
a = RDoc::Attr.new '', 'a', 'RW', nil
|
607
|
-
|
608
|
-
context.add_attribute a
|
609
|
-
|
610
|
-
refute context.fully_documented?
|
611
|
-
|
612
|
-
a.comment = 'hi'
|
613
|
-
|
614
|
-
assert context.fully_documented?
|
615
|
-
end
|
616
|
-
|
617
|
-
def test_spaceship
|
618
|
-
assert_equal(-1, @c2.<=>(@c3))
|
619
|
-
assert_equal 0, @c2.<=>(@c2)
|
620
|
-
assert_equal 1, @c3.<=>(@c2)
|
621
|
-
|
622
|
-
assert_equal 1, @c2_c3.<=>(@c2)
|
623
|
-
assert_equal(-1, @c2_c3.<=>(@c3))
|
624
|
-
|
625
|
-
assert_nil @c2.<=>(Gem.loaded_specs.values.first)
|
626
|
-
end
|
627
|
-
|
628
|
-
def test_methods_by_type
|
629
|
-
expected = {
|
630
|
-
'instance' => {
|
631
|
-
:private => [],
|
632
|
-
:protected => [],
|
633
|
-
:public => [@c1_m],
|
634
|
-
},
|
635
|
-
'class' => {
|
636
|
-
:private => [],
|
637
|
-
:protected => [],
|
638
|
-
:public => [@c1__m],
|
639
|
-
},
|
640
|
-
}
|
641
|
-
|
642
|
-
assert_equal expected, @c1.methods_by_type
|
643
|
-
end
|
644
|
-
|
645
|
-
def test_methods_by_type_section
|
646
|
-
separate = @c1.sections_hash['separate']
|
647
|
-
@c1_m.section = separate
|
648
|
-
|
649
|
-
expected = {
|
650
|
-
'instance' => {
|
651
|
-
:private => [],
|
652
|
-
:protected => [],
|
653
|
-
:public => [@c1_m],
|
654
|
-
},
|
655
|
-
'class' => {
|
656
|
-
:private => [],
|
657
|
-
:protected => [],
|
658
|
-
:public => [],
|
659
|
-
},
|
660
|
-
}
|
661
|
-
|
662
|
-
assert_equal expected, @c1.methods_by_type(separate)
|
663
|
-
end
|
664
|
-
|
665
|
-
def test_methods_matching
|
666
|
-
methods = []
|
667
|
-
|
668
|
-
@parent.methods_matching 'm' do |m|
|
669
|
-
methods << m
|
670
|
-
end
|
671
|
-
|
672
|
-
assert_equal [@parent_m], methods
|
673
|
-
end
|
674
|
-
|
675
|
-
def test_methods_matching_singleton
|
676
|
-
methods = []
|
677
|
-
|
678
|
-
@parent.methods_matching 'm', true do |m|
|
679
|
-
methods << m
|
680
|
-
end
|
681
|
-
|
682
|
-
assert_equal [@parent__m], methods
|
683
|
-
end
|
684
|
-
|
685
|
-
def test_methods_matching_inherit
|
686
|
-
methods = []
|
687
|
-
|
688
|
-
@child.methods_matching 'm' do |m|
|
689
|
-
methods << m
|
690
|
-
end
|
691
|
-
|
692
|
-
assert_equal [@parent_m], methods
|
693
|
-
end
|
694
|
-
|
695
|
-
def test_remove_invisible_private
|
696
|
-
util_visibilities
|
697
|
-
|
698
|
-
@vis.remove_invisible :private
|
699
|
-
|
700
|
-
assert_equal [@pub, @prot, @priv], @vis.method_list
|
701
|
-
assert_equal [@apub, @aprot, @apriv], @vis.attributes
|
702
|
-
end
|
703
|
-
|
704
|
-
def test_remove_invisible_nodoc
|
705
|
-
util_visibilities
|
706
|
-
|
707
|
-
@vis.remove_invisible :nodoc
|
708
|
-
|
709
|
-
assert_equal [@pub, @prot, @priv], @vis.method_list
|
710
|
-
assert_equal [@apub, @aprot, @apriv], @vis.attributes
|
711
|
-
end
|
712
|
-
|
713
|
-
def test_remove_invisible_protected
|
714
|
-
util_visibilities
|
715
|
-
|
716
|
-
@vis.remove_invisible :protected
|
717
|
-
|
718
|
-
assert_equal [@pub, @prot], @vis.method_list
|
719
|
-
assert_equal [@apub, @aprot], @vis.attributes
|
720
|
-
end
|
721
|
-
|
722
|
-
def test_remove_invisible_public
|
723
|
-
util_visibilities
|
724
|
-
|
725
|
-
@vis.remove_invisible :public
|
726
|
-
|
727
|
-
assert_equal [@pub], @vis.method_list
|
728
|
-
assert_equal [@apub], @vis.attributes
|
729
|
-
end
|
730
|
-
|
731
|
-
def test_remove_invisible_public_force
|
732
|
-
util_visibilities
|
733
|
-
|
734
|
-
@priv.force_documentation = true
|
735
|
-
@prot.force_documentation = true
|
736
|
-
@apriv.force_documentation = true
|
737
|
-
@aprot.force_documentation = true
|
738
|
-
|
739
|
-
@vis.remove_invisible :public
|
740
|
-
|
741
|
-
assert_equal [@pub, @prot, @priv], @vis.method_list
|
742
|
-
assert_equal [@apub, @aprot, @apriv], @vis.attributes
|
743
|
-
end
|
744
|
-
|
745
|
-
def test_remove_invisible_in_protected
|
746
|
-
util_visibilities
|
747
|
-
|
748
|
-
methods = [@pub, @prot, @priv]
|
749
|
-
|
750
|
-
@c1.remove_invisible_in methods, :protected
|
751
|
-
|
752
|
-
assert_equal [@pub, @prot], methods
|
753
|
-
end
|
754
|
-
|
755
|
-
def test_remove_invisible_in_protected_force
|
756
|
-
util_visibilities
|
757
|
-
|
758
|
-
@priv.force_documentation = true
|
759
|
-
|
760
|
-
methods = [@pub, @prot, @priv]
|
761
|
-
|
762
|
-
@c1.remove_invisible_in methods, :protected
|
763
|
-
|
764
|
-
assert_equal [@pub, @prot, @priv], methods
|
765
|
-
end
|
766
|
-
|
767
|
-
def test_remove_invisible_in_public
|
768
|
-
util_visibilities
|
769
|
-
|
770
|
-
methods = [@pub, @prot, @priv]
|
771
|
-
|
772
|
-
@c1.remove_invisible_in methods, :public
|
773
|
-
|
774
|
-
assert_equal [@pub], methods
|
775
|
-
end
|
776
|
-
|
777
|
-
def test_remove_invisible_in_public_force
|
778
|
-
util_visibilities
|
779
|
-
|
780
|
-
@prot.force_documentation = true
|
781
|
-
@priv.force_documentation = true
|
782
|
-
|
783
|
-
methods = [@pub, @prot, @priv]
|
784
|
-
|
785
|
-
@c1.remove_invisible_in methods, :public
|
786
|
-
|
787
|
-
assert_equal [@pub, @prot, @priv], methods
|
788
|
-
end
|
789
|
-
|
790
|
-
def test_section_contents
|
791
|
-
default = @context.sections.first
|
792
|
-
@context.add_method RDoc::AnyMethod.new(nil, 'm1')
|
793
|
-
|
794
|
-
b = @context.add_section 'B'
|
795
|
-
m = @context.add_method RDoc::AnyMethod.new(nil, 'm2')
|
796
|
-
m.section = b
|
797
|
-
|
798
|
-
assert_equal [default, b], @context.section_contents
|
799
|
-
end
|
800
|
-
|
801
|
-
def test_section_contents_no_default
|
802
|
-
@context = RDoc::Context.new
|
803
|
-
b = @context.add_section 'B'
|
804
|
-
m = @context.add_method RDoc::AnyMethod.new(nil, 'm')
|
805
|
-
m.section = b
|
806
|
-
|
807
|
-
assert_equal [b], @context.section_contents
|
808
|
-
end
|
809
|
-
|
810
|
-
def test_section_contents_only_default
|
811
|
-
@context = RDoc::Context.new
|
812
|
-
|
813
|
-
@context.add_method RDoc::AnyMethod.new(nil, 'm')
|
814
|
-
|
815
|
-
assert_empty @context.section_contents
|
816
|
-
end
|
817
|
-
|
818
|
-
def test_section_contents_unused
|
819
|
-
@context = RDoc::Context.new
|
820
|
-
|
821
|
-
@context.add_method RDoc::AnyMethod.new(nil, 'm')
|
822
|
-
@context.add_section 'B'
|
823
|
-
|
824
|
-
assert_empty @context.section_contents
|
825
|
-
end
|
826
|
-
|
827
|
-
def test_set_current_section
|
828
|
-
default_section = @context.sections.first
|
829
|
-
|
830
|
-
@context.set_current_section nil, RDoc::Comment.new('', @top_level)
|
831
|
-
|
832
|
-
assert_equal default_section, @context.current_section
|
833
|
-
|
834
|
-
@context.set_current_section 'other', RDoc::Comment.new('', @top_level)
|
835
|
-
|
836
|
-
new_section = @context.sections.find { |section|
|
837
|
-
section != default_section
|
838
|
-
}
|
839
|
-
|
840
|
-
assert_equal new_section, @context.current_section
|
841
|
-
end
|
842
|
-
|
843
|
-
def test_sort_sections
|
844
|
-
c = RDoc::Context.new
|
845
|
-
c.add_section 'C'
|
846
|
-
c.add_section 'A'
|
847
|
-
c.add_section 'B'
|
848
|
-
|
849
|
-
titles = c.sort_sections.map { |section| section.title }
|
850
|
-
|
851
|
-
assert_equal [nil, 'A', 'B', 'C'], titles
|
852
|
-
end
|
853
|
-
|
854
|
-
def test_sort_sections_tomdoc
|
855
|
-
c = RDoc::Context.new
|
856
|
-
c.add_section 'Public'
|
857
|
-
c.add_section 'Internal'
|
858
|
-
c.add_section 'Deprecated'
|
859
|
-
|
860
|
-
titles = c.sort_sections.map { |section| section.title }
|
861
|
-
|
862
|
-
assert_equal [nil, 'Public', 'Internal', 'Deprecated'], titles
|
863
|
-
end
|
864
|
-
|
865
|
-
def test_sort_sections_tomdoc_missing
|
866
|
-
c = RDoc::Context.new
|
867
|
-
c.add_section 'Internal'
|
868
|
-
c.add_section 'Public'
|
869
|
-
|
870
|
-
titles = c.sort_sections.map { |section| section.title }
|
871
|
-
|
872
|
-
assert_equal [nil, 'Public', 'Internal'], titles
|
873
|
-
end
|
874
|
-
|
875
|
-
def util_visibilities
|
876
|
-
@pub = RDoc::AnyMethod.new nil, 'pub'
|
877
|
-
@prot = RDoc::AnyMethod.new nil, 'prot'
|
878
|
-
@priv = RDoc::AnyMethod.new nil, 'priv'
|
879
|
-
|
880
|
-
@apub = RDoc::Attr.new nil, 'pub', 'RW', nil
|
881
|
-
@aprot = RDoc::Attr.new nil, 'prot', 'RW', nil
|
882
|
-
@apriv = RDoc::Attr.new nil, 'priv', 'RW', nil
|
883
|
-
|
884
|
-
@vis = RDoc::NormalClass.new 'Vis'
|
885
|
-
@vis.add_method @pub
|
886
|
-
@vis.add_method @prot
|
887
|
-
@vis.add_method @priv
|
888
|
-
|
889
|
-
@vis.add_attribute @apub
|
890
|
-
@vis.add_attribute @aprot
|
891
|
-
@vis.add_attribute @apriv
|
892
|
-
|
893
|
-
@prot.visibility = :protected
|
894
|
-
@priv.visibility = :private
|
895
|
-
|
896
|
-
@aprot.visibility = :protected
|
897
|
-
@apriv.visibility = :private
|
898
|
-
end
|
899
|
-
|
900
|
-
end
|
901
|
-
|