rdoc 3.1 → 6.3.3
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 +7 -0
- data/CONTRIBUTING.rdoc +220 -0
- data/CVE-2013-0256.rdoc +49 -0
- data/ExampleMarkdown.md +37 -0
- data/ExampleRDoc.rdoc +208 -0
- data/Gemfile +12 -0
- data/History.rdoc +1666 -0
- data/LEGAL.rdoc +50 -0
- data/LICENSE.rdoc +57 -0
- data/README.rdoc +129 -0
- data/RI.rdoc +57 -0
- data/Rakefile +84 -81
- data/TODO.rdoc +59 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +11 -2
- data/exe/ri +12 -0
- data/lib/rdoc/alias.rb +1 -2
- data/lib/rdoc/anon_class.rb +3 -2
- data/lib/rdoc/any_method.rb +234 -40
- data/lib/rdoc/attr.rb +79 -11
- data/lib/rdoc/class_module.rb +443 -71
- data/lib/rdoc/code_object.rb +216 -20
- data/lib/rdoc/code_objects.rb +4 -21
- data/lib/rdoc/comment.rb +250 -0
- data/lib/rdoc/constant.rb +110 -9
- data/lib/rdoc/context/section.rb +232 -0
- data/lib/rdoc/context.rb +392 -172
- data/lib/rdoc/cross_reference.rb +202 -0
- data/lib/rdoc/encoding.rb +83 -28
- data/lib/rdoc/erb_partial.rb +19 -0
- data/lib/rdoc/erbio.rb +8 -3
- data/lib/rdoc/extend.rb +10 -0
- data/lib/rdoc/generator/darkfish.rb +507 -84
- data/lib/rdoc/generator/json_index.rb +300 -0
- data/lib/rdoc/generator/markup.rb +27 -74
- data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
- data/lib/rdoc/generator/pot/po.rb +84 -0
- data/lib/rdoc/generator/pot/po_entry.rb +141 -0
- data/lib/rdoc/generator/pot.rb +98 -0
- data/lib/rdoc/generator/ri.rb +8 -62
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
- data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
- data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
- data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
- data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
- data/lib/rdoc/generator/template/json_index/.document +1 -0
- data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
- data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
- data/lib/rdoc/generator.rb +24 -13
- data/lib/rdoc/ghost_method.rb +1 -2
- data/lib/rdoc/i18n/locale.rb +102 -0
- data/lib/rdoc/i18n/text.rb +126 -0
- data/lib/rdoc/i18n.rb +10 -0
- data/lib/rdoc/include.rb +5 -95
- data/lib/rdoc/known_classes.rb +5 -2
- data/lib/rdoc/markdown/entities.rb +2132 -0
- data/lib/rdoc/markdown/literals.kpeg +23 -0
- data/lib/rdoc/markdown/literals.rb +416 -0
- data/lib/rdoc/markdown.kpeg +1237 -0
- data/lib/rdoc/markdown.rb +16684 -0
- data/lib/rdoc/markup/attr_changer.rb +23 -0
- data/lib/rdoc/markup/attr_span.rb +36 -0
- data/lib/rdoc/markup/attribute_manager.rb +135 -62
- data/lib/rdoc/markup/attributes.rb +71 -0
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +15 -0
- data/lib/rdoc/markup/document.rb +96 -9
- data/lib/rdoc/markup/formatter.rb +138 -25
- data/lib/rdoc/markup/hard_break.rb +32 -0
- data/lib/rdoc/markup/heading.rb +61 -2
- data/lib/rdoc/markup/include.rb +43 -0
- data/lib/rdoc/markup/indented_paragraph.rb +48 -0
- data/lib/rdoc/markup/list.rb +25 -4
- data/lib/rdoc/markup/list_item.rb +18 -4
- data/lib/rdoc/markup/paragraph.rb +15 -0
- data/lib/rdoc/markup/parser.rb +180 -88
- data/lib/rdoc/markup/pre_process.rb +183 -38
- data/lib/rdoc/markup/raw.rb +6 -5
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/table.rb +47 -0
- data/lib/rdoc/markup/to_ansi.rb +17 -7
- data/lib/rdoc/markup/to_bs.rb +5 -8
- data/lib/rdoc/markup/to_html.rb +238 -137
- data/lib/rdoc/markup/to_html_crossref.rb +125 -152
- data/lib/rdoc/markup/to_html_snippet.rb +285 -0
- data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
- data/lib/rdoc/markup/to_label.rb +75 -0
- data/lib/rdoc/markup/to_markdown.rb +192 -0
- data/lib/rdoc/markup/to_rdoc.rb +85 -15
- data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
- data/lib/rdoc/markup/to_test.rb +2 -4
- data/lib/rdoc/markup/to_tt_only.rb +121 -0
- data/lib/rdoc/markup/verbatim.rb +39 -0
- data/lib/rdoc/markup.rb +388 -110
- data/lib/rdoc/meta_method.rb +1 -2
- data/lib/rdoc/method_attr.rb +87 -21
- data/lib/rdoc/mixin.rb +121 -0
- data/lib/rdoc/normal_class.rb +39 -10
- data/lib/rdoc/normal_module.rb +22 -7
- data/lib/rdoc/options.rb +613 -73
- data/lib/rdoc/parser/c.rb +621 -287
- data/lib/rdoc/parser/changelog.rb +335 -0
- data/lib/rdoc/parser/markdown.rb +24 -0
- data/lib/rdoc/parser/rd.rb +23 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +1368 -762
- data/lib/rdoc/parser/ruby_tools.rb +42 -35
- data/lib/rdoc/parser/simple.rb +23 -11
- data/lib/rdoc/parser/text.rb +12 -0
- data/lib/rdoc/parser.rb +162 -89
- data/lib/rdoc/rd/block_parser.rb +1056 -0
- data/lib/rdoc/rd/block_parser.ry +639 -0
- data/lib/rdoc/rd/inline.rb +72 -0
- data/lib/rdoc/rd/inline_parser.rb +1208 -0
- data/lib/rdoc/rd/inline_parser.ry +593 -0
- data/lib/rdoc/rd.rb +100 -0
- data/lib/rdoc/rdoc.rb +208 -115
- data/lib/rdoc/require.rb +1 -2
- data/lib/rdoc/ri/driver.rb +734 -239
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +91 -48
- data/lib/rdoc/ri/store.rb +3 -261
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +5 -2
- data/lib/rdoc/rubygems_hook.rb +246 -0
- data/lib/rdoc/servlet.rb +451 -0
- data/lib/rdoc/single_class.rb +14 -2
- data/lib/rdoc/stats/normal.rb +19 -12
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/stats.rb +262 -104
- data/lib/rdoc/store.rb +979 -0
- data/lib/rdoc/task.rb +84 -44
- data/lib/rdoc/text.rb +117 -72
- data/lib/rdoc/token_stream.rb +73 -4
- data/lib/rdoc/tom_doc.rb +263 -0
- data/lib/rdoc/top_level.rb +111 -261
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +127 -64
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +249 -0
- metadata +171 -291
- data/.autotest +0 -16
- data/.document +0 -5
- data/History.txt +0 -594
- data/LICENSE.txt +0 -57
- data/Manifest.txt +0 -158
- data/README.txt +0 -45
- data/RI.txt +0 -58
- data/bin/ri +0 -5
- data/lib/rdoc/gauntlet.rb +0 -52
- data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
- data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
- data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
- data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
- data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
- data/lib/rdoc/markup/formatter_test_case.rb +0 -689
- data/lib/rdoc/markup/inline.rb +0 -137
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
- data/lib/rdoc/ruby_lex.rb +0 -1291
- data/lib/rdoc/ruby_token.rb +0 -416
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_attribute_manager.rb +0 -120
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -126
- data/test/test_rdoc_attr.rb +0 -61
- data/test/test_rdoc_class_module.rb +0 -233
- data/test/test_rdoc_code_object.rb +0 -165
- data/test/test_rdoc_constant.rb +0 -15
- data/test/test_rdoc_context.rb +0 -370
- data/test/test_rdoc_encoding.rb +0 -166
- data/test/test_rdoc_generator_darkfish.rb +0 -119
- data/test/test_rdoc_generator_ri.rb +0 -76
- data/test/test_rdoc_include.rb +0 -96
- data/test/test_rdoc_markup.rb +0 -37
- data/test/test_rdoc_markup_attribute_manager.rb +0 -240
- data/test/test_rdoc_markup_document.rb +0 -51
- data/test/test_rdoc_markup_paragraph.rb +0 -9
- data/test/test_rdoc_markup_parser.rb +0 -1395
- data/test/test_rdoc_markup_pre_process.rb +0 -185
- data/test/test_rdoc_markup_raw.rb +0 -27
- data/test/test_rdoc_markup_to_ansi.rb +0 -328
- data/test/test_rdoc_markup_to_bs.rb +0 -341
- data/test/test_rdoc_markup_to_html.rb +0 -335
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
- data/test/test_rdoc_markup_to_rdoc.rb +0 -327
- data/test/test_rdoc_method_attr.rb +0 -122
- data/test/test_rdoc_normal_class.rb +0 -17
- data/test/test_rdoc_normal_module.rb +0 -31
- data/test/test_rdoc_options.rb +0 -342
- data/test/test_rdoc_parser.rb +0 -83
- data/test/test_rdoc_parser_c.rb +0 -912
- data/test/test_rdoc_parser_ruby.rb +0 -1754
- data/test/test_rdoc_parser_simple.rb +0 -99
- data/test/test_rdoc_rdoc.rb +0 -164
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -846
- data/test/test_rdoc_ri_paths.rb +0 -43
- data/test/test_rdoc_ri_store.rb +0 -352
- data/test/test_rdoc_ruby_lex.rb +0 -23
- data/test/test_rdoc_stats.rb +0 -38
- data/test/test_rdoc_task.rb +0 -92
- data/test/test_rdoc_text.rb +0 -251
- data/test/test_rdoc_top_level.rb +0 -120
- data/test/xref_data.rb +0 -62
- data/test/xref_test_case.rb +0 -61
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -0
data/test/test_rdoc_options.rb
DELETED
@@ -1,342 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
require 'rdoc/options'
|
4
|
-
|
5
|
-
require 'fileutils'
|
6
|
-
require 'tmpdir'
|
7
|
-
|
8
|
-
class TestRDocOptions < MiniTest::Unit::TestCase
|
9
|
-
|
10
|
-
def setup
|
11
|
-
@options = RDoc::Options.new
|
12
|
-
@generators = RDoc::RDoc::GENERATORS.dup
|
13
|
-
end
|
14
|
-
|
15
|
-
def teardown
|
16
|
-
RDoc::RDoc::GENERATORS.replace @generators
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_check_files
|
20
|
-
out, err = capture_io do
|
21
|
-
Dir.mktmpdir do |dir|
|
22
|
-
Dir.chdir dir do
|
23
|
-
FileUtils.touch 'unreadable'
|
24
|
-
FileUtils.chmod 0, 'unreadable'
|
25
|
-
|
26
|
-
@options.files = %w[nonexistent unreadable]
|
27
|
-
|
28
|
-
@options.check_files
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
assert_empty @options.files
|
34
|
-
|
35
|
-
assert_equal '', out
|
36
|
-
|
37
|
-
expected = <<-EXPECTED
|
38
|
-
file 'nonexistent' not found
|
39
|
-
file 'unreadable' not readable
|
40
|
-
EXPECTED
|
41
|
-
|
42
|
-
assert_equal expected, err
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_dry_run_default
|
46
|
-
refute @options.dry_run
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_encoding_default
|
50
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
51
|
-
|
52
|
-
assert_equal Encoding.default_external, @options.encoding
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_generator_descriptions
|
56
|
-
# HACK autotest/isolate should take care of this
|
57
|
-
RDoc::RDoc::GENERATORS.clear
|
58
|
-
RDoc::RDoc::GENERATORS['darkfish'] = RDoc::Generator::Darkfish
|
59
|
-
RDoc::RDoc::GENERATORS['ri'] = RDoc::Generator::RI
|
60
|
-
|
61
|
-
expected = <<-EXPECTED.chomp
|
62
|
-
darkfish - HTML generator, written by Michael Granger
|
63
|
-
ri - creates ri data files
|
64
|
-
EXPECTED
|
65
|
-
|
66
|
-
assert_equal expected, @options.generator_descriptions
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_parse_dash_p
|
70
|
-
out, err = capture_io do
|
71
|
-
@options.parse %w[-p]
|
72
|
-
end
|
73
|
-
|
74
|
-
assert @options.pipe
|
75
|
-
refute_match %r%^Usage: %, err
|
76
|
-
refute_match %r%^invalid options%, err
|
77
|
-
|
78
|
-
assert_empty out
|
79
|
-
end
|
80
|
-
|
81
|
-
def test_parse_dash_p_files
|
82
|
-
out, err = capture_io do
|
83
|
-
@options.parse ['-p', File.expand_path(__FILE__)]
|
84
|
-
end
|
85
|
-
|
86
|
-
refute @options.pipe
|
87
|
-
refute_match %r%^Usage: %, err
|
88
|
-
assert_match %r%^invalid options: -p .with files.%, err
|
89
|
-
|
90
|
-
assert_empty out
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_parse_default
|
94
|
-
@options.parse []
|
95
|
-
|
96
|
-
assert_equal RDoc::Generator::Darkfish, @options.generator
|
97
|
-
assert_equal 'darkfish', @options.template
|
98
|
-
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
99
|
-
end
|
100
|
-
|
101
|
-
def test_parse_deprecated
|
102
|
-
dep_hash = RDoc::Options::DEPRECATED
|
103
|
-
options = dep_hash.keys.sort
|
104
|
-
|
105
|
-
out, err = capture_io do
|
106
|
-
@options.parse options
|
107
|
-
end
|
108
|
-
|
109
|
-
dep_hash.each_pair do |opt, message|
|
110
|
-
assert_match %r%.*#{opt}.+#{message}%, err
|
111
|
-
end
|
112
|
-
|
113
|
-
assert_empty out
|
114
|
-
end
|
115
|
-
|
116
|
-
def test_parse_dry_run
|
117
|
-
@options.parse %w[--dry-run]
|
118
|
-
|
119
|
-
assert @options.dry_run
|
120
|
-
end
|
121
|
-
|
122
|
-
def test_parse_encoding
|
123
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
124
|
-
|
125
|
-
@options.parse %w[--encoding Big5]
|
126
|
-
|
127
|
-
assert_equal Encoding::Big5, @options.encoding
|
128
|
-
assert_equal 'Big5', @options.charset
|
129
|
-
end
|
130
|
-
|
131
|
-
def test_parse_encoding_invalid
|
132
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
133
|
-
|
134
|
-
out, err = capture_io do
|
135
|
-
@options.parse %w[--encoding invalid]
|
136
|
-
end
|
137
|
-
|
138
|
-
assert_match %r%^invalid options: --encoding invalid%, err
|
139
|
-
|
140
|
-
assert_empty out
|
141
|
-
end
|
142
|
-
|
143
|
-
def test_parse_formatter
|
144
|
-
e = assert_raises OptionParser::InvalidOption do
|
145
|
-
@options.parse %w[--format darkfish --format ri]
|
146
|
-
end
|
147
|
-
|
148
|
-
assert_equal 'invalid option: --format generator already set to darkfish',
|
149
|
-
e.message
|
150
|
-
end
|
151
|
-
|
152
|
-
def test_parse_formatter_ri
|
153
|
-
e = assert_raises OptionParser::InvalidOption do
|
154
|
-
@options.parse %w[--format darkfish --ri]
|
155
|
-
end
|
156
|
-
|
157
|
-
assert_equal 'invalid option: --ri generator already set to darkfish',
|
158
|
-
e.message
|
159
|
-
|
160
|
-
@options = RDoc::Options.new
|
161
|
-
|
162
|
-
e = assert_raises OptionParser::InvalidOption do
|
163
|
-
@options.parse %w[--format darkfish -r]
|
164
|
-
end
|
165
|
-
|
166
|
-
assert_equal 'invalid option: -r generator already set to darkfish',
|
167
|
-
e.message
|
168
|
-
end
|
169
|
-
|
170
|
-
def test_parse_formatter_ri_site
|
171
|
-
e = assert_raises OptionParser::InvalidOption do
|
172
|
-
@options.parse %w[--format darkfish --ri-site]
|
173
|
-
end
|
174
|
-
|
175
|
-
assert_equal 'invalid option: --ri-site generator already set to darkfish',
|
176
|
-
e.message
|
177
|
-
|
178
|
-
@options = RDoc::Options.new
|
179
|
-
|
180
|
-
e = assert_raises OptionParser::InvalidOption do
|
181
|
-
@options.parse %w[--format darkfish -R]
|
182
|
-
end
|
183
|
-
|
184
|
-
assert_equal 'invalid option: -R generator already set to darkfish',
|
185
|
-
e.message
|
186
|
-
end
|
187
|
-
|
188
|
-
def test_parse_help
|
189
|
-
out, = capture_io do
|
190
|
-
begin
|
191
|
-
@options.parse %w[--help]
|
192
|
-
rescue SystemExit
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
assert_equal 1, out.scan(/HTML generator options:/).length
|
197
|
-
assert_equal 1, out.scan(/ri generator options:/). length
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_parse_help_extra_generator
|
201
|
-
RDoc::RDoc::GENERATORS['test'] = Class.new do
|
202
|
-
def self.setup_options options
|
203
|
-
op = options.option_parser
|
204
|
-
|
205
|
-
op.separator 'test generator options:'
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
|
-
out, = capture_io do
|
210
|
-
begin
|
211
|
-
@options.parse %w[--help]
|
212
|
-
rescue SystemExit
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
assert_equal 1, out.scan(/HTML generator options:/).length
|
217
|
-
assert_equal 1, out.scan(/ri generator options:/). length
|
218
|
-
assert_equal 1, out.scan(/test generator options:/).length
|
219
|
-
end
|
220
|
-
|
221
|
-
def test_parse_ignore_invalid
|
222
|
-
out, err = capture_io do
|
223
|
-
@options.parse %w[--ignore-invalid --bogus]
|
224
|
-
end
|
225
|
-
|
226
|
-
refute_match %r%^Usage: %, err
|
227
|
-
assert_match %r%^invalid options: --bogus%, err
|
228
|
-
|
229
|
-
assert_empty out
|
230
|
-
end
|
231
|
-
|
232
|
-
def test_parse_ignore_invalid_default
|
233
|
-
out, err = capture_io do
|
234
|
-
@options.parse %w[--bogus --main BLAH]
|
235
|
-
end
|
236
|
-
|
237
|
-
refute_match %r%^Usage: %, err
|
238
|
-
assert_match %r%^invalid options: --bogus%, err
|
239
|
-
|
240
|
-
assert_equal 'BLAH', @options.main_page
|
241
|
-
|
242
|
-
assert_empty out
|
243
|
-
end
|
244
|
-
|
245
|
-
def test_parse_ignore_invalid_no
|
246
|
-
out, err = capture_io do
|
247
|
-
assert_raises SystemExit do
|
248
|
-
@options.parse %w[--no-ignore-invalid --bogus=arg --bobogus --visibility=extended]
|
249
|
-
end
|
250
|
-
end
|
251
|
-
|
252
|
-
assert_match %r%^Usage: %, err
|
253
|
-
assert_match %r%^invalid options: --bogus=arg, --bobogus, --visibility=extended%, err
|
254
|
-
|
255
|
-
assert_empty out
|
256
|
-
end
|
257
|
-
|
258
|
-
def test_parse_main
|
259
|
-
out, err = capture_io do
|
260
|
-
@options.parse %w[--main MAIN]
|
261
|
-
end
|
262
|
-
|
263
|
-
assert_empty out
|
264
|
-
assert_empty err
|
265
|
-
|
266
|
-
assert_equal 'MAIN', @options.main_page
|
267
|
-
end
|
268
|
-
|
269
|
-
def test_parse_template
|
270
|
-
out, err = capture_io do
|
271
|
-
@options.parse %w[--template darkfish]
|
272
|
-
end
|
273
|
-
|
274
|
-
assert_empty out
|
275
|
-
assert_empty err
|
276
|
-
|
277
|
-
assert_equal 'darkfish', @options.template
|
278
|
-
|
279
|
-
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
280
|
-
end
|
281
|
-
|
282
|
-
def test_parse_template_nonexistent
|
283
|
-
out, err = capture_io do
|
284
|
-
@options.parse %w[--template NONEXISTENT]
|
285
|
-
end
|
286
|
-
|
287
|
-
assert_empty out
|
288
|
-
assert_equal "could not find template NONEXISTENT\n", err
|
289
|
-
|
290
|
-
assert_equal 'darkfish', @options.template
|
291
|
-
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
292
|
-
end
|
293
|
-
|
294
|
-
def test_parse_template_load_path
|
295
|
-
orig_LOAD_PATH = $LOAD_PATH.dup
|
296
|
-
|
297
|
-
template_dir = nil
|
298
|
-
|
299
|
-
Dir.mktmpdir do |dir|
|
300
|
-
$LOAD_PATH << dir
|
301
|
-
|
302
|
-
template_dir = File.join dir, 'rdoc', 'generator', 'template', 'load_path'
|
303
|
-
|
304
|
-
FileUtils.mkdir_p template_dir
|
305
|
-
|
306
|
-
out, err = capture_io do
|
307
|
-
@options.parse %w[--template load_path]
|
308
|
-
end
|
309
|
-
|
310
|
-
assert_empty out
|
311
|
-
assert_empty err
|
312
|
-
end
|
313
|
-
|
314
|
-
assert_equal 'load_path', @options.template
|
315
|
-
assert_equal template_dir, @options.template_dir
|
316
|
-
ensure
|
317
|
-
$LOAD_PATH.replace orig_LOAD_PATH
|
318
|
-
end
|
319
|
-
|
320
|
-
def test_setup_generator
|
321
|
-
test_generator = Class.new do
|
322
|
-
def self.setup_options op
|
323
|
-
@op = op
|
324
|
-
end
|
325
|
-
|
326
|
-
def self.op() @op end
|
327
|
-
end
|
328
|
-
|
329
|
-
RDoc::RDoc::GENERATORS['TestGenerator'] = test_generator
|
330
|
-
|
331
|
-
@options.setup_generator 'TestGenerator'
|
332
|
-
|
333
|
-
assert_equal test_generator, @options.generator
|
334
|
-
assert_equal [test_generator], @options.generator_options
|
335
|
-
|
336
|
-
assert_equal @options, test_generator.op
|
337
|
-
ensure
|
338
|
-
RDoc::RDoc::GENERATORS.delete 'TestGenerator'
|
339
|
-
end
|
340
|
-
|
341
|
-
end
|
342
|
-
|
data/test/test_rdoc_parser.rb
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'minitest/autorun'
|
3
|
-
require 'rdoc/parser'
|
4
|
-
require 'rdoc/parser/ruby'
|
5
|
-
require 'tmpdir'
|
6
|
-
|
7
|
-
class TestRDocParser < MiniTest::Unit::TestCase
|
8
|
-
|
9
|
-
def setup
|
10
|
-
@RP = RDoc::Parser
|
11
|
-
@binary_dat = File.expand_path '../binary.dat', __FILE__
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_class_binary_eh_marshal
|
15
|
-
marshal = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.marshal"
|
16
|
-
open marshal, 'wb' do |io|
|
17
|
-
io.write Marshal.dump('')
|
18
|
-
io.write 'lots of text ' * 500
|
19
|
-
end
|
20
|
-
|
21
|
-
assert @RP.binary?(marshal)
|
22
|
-
ensure
|
23
|
-
File.unlink marshal
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_class_binary_japanese_text
|
27
|
-
file_name = File.expand_path '../test.ja.txt', __FILE__
|
28
|
-
refute @RP.binary?(file_name)
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_class_binary_large_japanese_rdoc
|
32
|
-
file_name = File.expand_path '../test.ja.large.rdoc', __FILE__
|
33
|
-
assert !@RP.binary?(file_name)
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_class_binary_japanese_rdoc
|
37
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
38
|
-
|
39
|
-
file_name = File.expand_path '../test.ja.rdoc', __FILE__
|
40
|
-
refute @RP.binary?(file_name)
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_class_can_parse
|
44
|
-
assert_equal @RP.can_parse(__FILE__), @RP::Ruby
|
45
|
-
|
46
|
-
readme_file_name = File.expand_path '../test.txt', __FILE__
|
47
|
-
|
48
|
-
assert_equal @RP::Simple, @RP.can_parse(readme_file_name)
|
49
|
-
|
50
|
-
assert_nil @RP.can_parse(@binary_dat)
|
51
|
-
|
52
|
-
jtest_file_name = File.expand_path '../test.ja.txt', __FILE__
|
53
|
-
assert_equal @RP::Simple, @RP.can_parse(jtest_file_name)
|
54
|
-
|
55
|
-
jtest_rdoc_file_name = File.expand_path '../test.ja.rdoc', __FILE__
|
56
|
-
assert_equal @RP::Simple, @RP.can_parse(jtest_rdoc_file_name)
|
57
|
-
|
58
|
-
readme_file_name = File.expand_path '../README', __FILE__
|
59
|
-
assert_equal @RP::Simple, @RP.can_parse(readme_file_name)
|
60
|
-
end
|
61
|
-
|
62
|
-
##
|
63
|
-
# Selenium hides a .jar file using a .txt extension.
|
64
|
-
|
65
|
-
def test_class_can_parse_zip
|
66
|
-
hidden_zip = File.expand_path '../hidden.zip.txt', __FILE__
|
67
|
-
assert_nil @RP.can_parse(hidden_zip)
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_class_for_binary
|
71
|
-
rp = @RP.dup
|
72
|
-
|
73
|
-
class << rp
|
74
|
-
alias old_can_parse can_parse
|
75
|
-
end
|
76
|
-
|
77
|
-
def rp.can_parse(*args) nil end
|
78
|
-
|
79
|
-
assert_nil @RP.for(nil, @binary_dat, nil, nil, nil)
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
83
|
-
|