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.

Files changed (247) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +220 -0
  3. data/CVE-2013-0256.rdoc +49 -0
  4. data/ExampleMarkdown.md +37 -0
  5. data/ExampleRDoc.rdoc +208 -0
  6. data/Gemfile +12 -0
  7. data/History.rdoc +1666 -0
  8. data/LEGAL.rdoc +50 -0
  9. data/LICENSE.rdoc +57 -0
  10. data/README.rdoc +129 -0
  11. data/RI.rdoc +57 -0
  12. data/Rakefile +84 -81
  13. data/TODO.rdoc +59 -0
  14. data/bin/console +7 -0
  15. data/bin/setup +6 -0
  16. data/{bin → exe}/rdoc +11 -2
  17. data/exe/ri +12 -0
  18. data/lib/rdoc/alias.rb +1 -2
  19. data/lib/rdoc/anon_class.rb +3 -2
  20. data/lib/rdoc/any_method.rb +234 -40
  21. data/lib/rdoc/attr.rb +79 -11
  22. data/lib/rdoc/class_module.rb +443 -71
  23. data/lib/rdoc/code_object.rb +216 -20
  24. data/lib/rdoc/code_objects.rb +4 -21
  25. data/lib/rdoc/comment.rb +250 -0
  26. data/lib/rdoc/constant.rb +110 -9
  27. data/lib/rdoc/context/section.rb +232 -0
  28. data/lib/rdoc/context.rb +392 -172
  29. data/lib/rdoc/cross_reference.rb +202 -0
  30. data/lib/rdoc/encoding.rb +83 -28
  31. data/lib/rdoc/erb_partial.rb +19 -0
  32. data/lib/rdoc/erbio.rb +8 -3
  33. data/lib/rdoc/extend.rb +10 -0
  34. data/lib/rdoc/generator/darkfish.rb +507 -84
  35. data/lib/rdoc/generator/json_index.rb +300 -0
  36. data/lib/rdoc/generator/markup.rb +27 -74
  37. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  38. data/lib/rdoc/generator/pot/po.rb +84 -0
  39. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  40. data/lib/rdoc/generator/pot.rb +98 -0
  41. data/lib/rdoc/generator/ri.rb +8 -62
  42. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  43. data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  57. data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  58. data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  59. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
  60. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  61. data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  64. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  65. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  66. data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  67. data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  68. data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  69. data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  70. data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  71. data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
  72. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
  73. data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
  74. data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  75. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  76. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
  77. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  78. data/lib/rdoc/generator/template/json_index/.document +1 -0
  79. data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
  80. data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  81. data/lib/rdoc/generator.rb +24 -13
  82. data/lib/rdoc/ghost_method.rb +1 -2
  83. data/lib/rdoc/i18n/locale.rb +102 -0
  84. data/lib/rdoc/i18n/text.rb +126 -0
  85. data/lib/rdoc/i18n.rb +10 -0
  86. data/lib/rdoc/include.rb +5 -95
  87. data/lib/rdoc/known_classes.rb +5 -2
  88. data/lib/rdoc/markdown/entities.rb +2132 -0
  89. data/lib/rdoc/markdown/literals.kpeg +23 -0
  90. data/lib/rdoc/markdown/literals.rb +416 -0
  91. data/lib/rdoc/markdown.kpeg +1237 -0
  92. data/lib/rdoc/markdown.rb +16684 -0
  93. data/lib/rdoc/markup/attr_changer.rb +23 -0
  94. data/lib/rdoc/markup/attr_span.rb +36 -0
  95. data/lib/rdoc/markup/attribute_manager.rb +135 -62
  96. data/lib/rdoc/markup/attributes.rb +71 -0
  97. data/lib/rdoc/markup/blank_line.rb +1 -0
  98. data/lib/rdoc/markup/block_quote.rb +15 -0
  99. data/lib/rdoc/markup/document.rb +96 -9
  100. data/lib/rdoc/markup/formatter.rb +138 -25
  101. data/lib/rdoc/markup/hard_break.rb +32 -0
  102. data/lib/rdoc/markup/heading.rb +61 -2
  103. data/lib/rdoc/markup/include.rb +43 -0
  104. data/lib/rdoc/markup/indented_paragraph.rb +48 -0
  105. data/lib/rdoc/markup/list.rb +25 -4
  106. data/lib/rdoc/markup/list_item.rb +18 -4
  107. data/lib/rdoc/markup/paragraph.rb +15 -0
  108. data/lib/rdoc/markup/parser.rb +180 -88
  109. data/lib/rdoc/markup/pre_process.rb +183 -38
  110. data/lib/rdoc/markup/raw.rb +6 -5
  111. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  112. data/lib/rdoc/markup/rule.rb +1 -0
  113. data/lib/rdoc/markup/table.rb +47 -0
  114. data/lib/rdoc/markup/to_ansi.rb +17 -7
  115. data/lib/rdoc/markup/to_bs.rb +5 -8
  116. data/lib/rdoc/markup/to_html.rb +238 -137
  117. data/lib/rdoc/markup/to_html_crossref.rb +125 -152
  118. data/lib/rdoc/markup/to_html_snippet.rb +285 -0
  119. data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
  120. data/lib/rdoc/markup/to_label.rb +75 -0
  121. data/lib/rdoc/markup/to_markdown.rb +192 -0
  122. data/lib/rdoc/markup/to_rdoc.rb +85 -15
  123. data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
  124. data/lib/rdoc/markup/to_test.rb +2 -4
  125. data/lib/rdoc/markup/to_tt_only.rb +121 -0
  126. data/lib/rdoc/markup/verbatim.rb +39 -0
  127. data/lib/rdoc/markup.rb +388 -110
  128. data/lib/rdoc/meta_method.rb +1 -2
  129. data/lib/rdoc/method_attr.rb +87 -21
  130. data/lib/rdoc/mixin.rb +121 -0
  131. data/lib/rdoc/normal_class.rb +39 -10
  132. data/lib/rdoc/normal_module.rb +22 -7
  133. data/lib/rdoc/options.rb +613 -73
  134. data/lib/rdoc/parser/c.rb +621 -287
  135. data/lib/rdoc/parser/changelog.rb +335 -0
  136. data/lib/rdoc/parser/markdown.rb +24 -0
  137. data/lib/rdoc/parser/rd.rb +23 -0
  138. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  139. data/lib/rdoc/parser/ruby.rb +1368 -762
  140. data/lib/rdoc/parser/ruby_tools.rb +42 -35
  141. data/lib/rdoc/parser/simple.rb +23 -11
  142. data/lib/rdoc/parser/text.rb +12 -0
  143. data/lib/rdoc/parser.rb +162 -89
  144. data/lib/rdoc/rd/block_parser.rb +1056 -0
  145. data/lib/rdoc/rd/block_parser.ry +639 -0
  146. data/lib/rdoc/rd/inline.rb +72 -0
  147. data/lib/rdoc/rd/inline_parser.rb +1208 -0
  148. data/lib/rdoc/rd/inline_parser.ry +593 -0
  149. data/lib/rdoc/rd.rb +100 -0
  150. data/lib/rdoc/rdoc.rb +208 -115
  151. data/lib/rdoc/require.rb +1 -2
  152. data/lib/rdoc/ri/driver.rb +734 -239
  153. data/lib/rdoc/ri/formatter.rb +1 -0
  154. data/lib/rdoc/ri/paths.rb +91 -48
  155. data/lib/rdoc/ri/store.rb +3 -261
  156. data/lib/rdoc/ri/task.rb +71 -0
  157. data/lib/rdoc/ri.rb +5 -2
  158. data/lib/rdoc/rubygems_hook.rb +246 -0
  159. data/lib/rdoc/servlet.rb +451 -0
  160. data/lib/rdoc/single_class.rb +14 -2
  161. data/lib/rdoc/stats/normal.rb +19 -12
  162. data/lib/rdoc/stats/quiet.rb +1 -0
  163. data/lib/rdoc/stats/verbose.rb +1 -0
  164. data/lib/rdoc/stats.rb +262 -104
  165. data/lib/rdoc/store.rb +979 -0
  166. data/lib/rdoc/task.rb +84 -44
  167. data/lib/rdoc/text.rb +117 -72
  168. data/lib/rdoc/token_stream.rb +73 -4
  169. data/lib/rdoc/tom_doc.rb +263 -0
  170. data/lib/rdoc/top_level.rb +111 -261
  171. data/lib/rdoc/version.rb +8 -0
  172. data/lib/rdoc.rb +127 -64
  173. data/man/ri.1 +247 -0
  174. data/rdoc.gemspec +249 -0
  175. metadata +171 -291
  176. data/.autotest +0 -16
  177. data/.document +0 -5
  178. data/History.txt +0 -594
  179. data/LICENSE.txt +0 -57
  180. data/Manifest.txt +0 -158
  181. data/README.txt +0 -45
  182. data/RI.txt +0 -58
  183. data/bin/ri +0 -5
  184. data/lib/rdoc/gauntlet.rb +0 -52
  185. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
  186. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
  187. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
  188. data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
  189. data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
  190. data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
  191. data/lib/rdoc/markup/formatter_test_case.rb +0 -689
  192. data/lib/rdoc/markup/inline.rb +0 -137
  193. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
  194. data/lib/rdoc/ruby_lex.rb +0 -1291
  195. data/lib/rdoc/ruby_token.rb +0 -416
  196. data/test/README +0 -1
  197. data/test/binary.dat +0 -0
  198. data/test/hidden.zip.txt +0 -1
  199. data/test/test.ja.rdoc +0 -10
  200. data/test/test.ja.txt +0 -8
  201. data/test/test.txt +0 -1
  202. data/test/test_attribute_manager.rb +0 -120
  203. data/test/test_rdoc_alias.rb +0 -13
  204. data/test/test_rdoc_any_method.rb +0 -126
  205. data/test/test_rdoc_attr.rb +0 -61
  206. data/test/test_rdoc_class_module.rb +0 -233
  207. data/test/test_rdoc_code_object.rb +0 -165
  208. data/test/test_rdoc_constant.rb +0 -15
  209. data/test/test_rdoc_context.rb +0 -370
  210. data/test/test_rdoc_encoding.rb +0 -166
  211. data/test/test_rdoc_generator_darkfish.rb +0 -119
  212. data/test/test_rdoc_generator_ri.rb +0 -76
  213. data/test/test_rdoc_include.rb +0 -96
  214. data/test/test_rdoc_markup.rb +0 -37
  215. data/test/test_rdoc_markup_attribute_manager.rb +0 -240
  216. data/test/test_rdoc_markup_document.rb +0 -51
  217. data/test/test_rdoc_markup_paragraph.rb +0 -9
  218. data/test/test_rdoc_markup_parser.rb +0 -1395
  219. data/test/test_rdoc_markup_pre_process.rb +0 -185
  220. data/test/test_rdoc_markup_raw.rb +0 -27
  221. data/test/test_rdoc_markup_to_ansi.rb +0 -328
  222. data/test/test_rdoc_markup_to_bs.rb +0 -341
  223. data/test/test_rdoc_markup_to_html.rb +0 -335
  224. data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
  225. data/test/test_rdoc_markup_to_rdoc.rb +0 -327
  226. data/test/test_rdoc_method_attr.rb +0 -122
  227. data/test/test_rdoc_normal_class.rb +0 -17
  228. data/test/test_rdoc_normal_module.rb +0 -31
  229. data/test/test_rdoc_options.rb +0 -342
  230. data/test/test_rdoc_parser.rb +0 -83
  231. data/test/test_rdoc_parser_c.rb +0 -912
  232. data/test/test_rdoc_parser_ruby.rb +0 -1754
  233. data/test/test_rdoc_parser_simple.rb +0 -99
  234. data/test/test_rdoc_rdoc.rb +0 -164
  235. data/test/test_rdoc_require.rb +0 -25
  236. data/test/test_rdoc_ri_driver.rb +0 -846
  237. data/test/test_rdoc_ri_paths.rb +0 -43
  238. data/test/test_rdoc_ri_store.rb +0 -352
  239. data/test/test_rdoc_ruby_lex.rb +0 -23
  240. data/test/test_rdoc_stats.rb +0 -38
  241. data/test/test_rdoc_task.rb +0 -92
  242. data/test/test_rdoc_text.rb +0 -251
  243. data/test/test_rdoc_top_level.rb +0 -120
  244. data/test/xref_data.rb +0 -62
  245. data/test/xref_test_case.rb +0 -61
  246. data.tar.gz.sig +0 -3
  247. metadata.gz.sig +0 -0
@@ -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
-
@@ -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
-