rdoc 4.2.1 → 6.3.1

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 (277) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.rdoc +8 -7
  3. data/Gemfile +12 -0
  4. data/History.rdoc +48 -4
  5. data/LEGAL.rdoc +2 -2
  6. data/README.rdoc +5 -5
  7. data/Rakefile +73 -155
  8. data/bin/console +7 -0
  9. data/bin/setup +6 -0
  10. data/{bin → exe}/rdoc +0 -0
  11. data/{bin → exe}/ri +0 -0
  12. data/lib/rdoc/alias.rb +1 -0
  13. data/lib/rdoc/anon_class.rb +1 -0
  14. data/lib/rdoc/any_method.rb +59 -14
  15. data/lib/rdoc/attr.rb +1 -0
  16. data/lib/rdoc/class_module.rb +5 -2
  17. data/lib/rdoc/code_object.rb +3 -11
  18. data/lib/rdoc/code_objects.rb +1 -0
  19. data/lib/rdoc/comment.rb +32 -11
  20. data/lib/rdoc/constant.rb +3 -2
  21. data/lib/rdoc/context/section.rb +7 -13
  22. data/lib/rdoc/context.rb +78 -23
  23. data/lib/rdoc/cross_reference.rb +33 -14
  24. data/lib/rdoc/encoding.rb +92 -55
  25. data/lib/rdoc/erb_partial.rb +2 -1
  26. data/lib/rdoc/erbio.rb +8 -3
  27. data/lib/rdoc/extend.rb +1 -0
  28. data/lib/rdoc/generator/darkfish.rb +62 -32
  29. data/lib/rdoc/generator/json_index.rb +8 -5
  30. data/lib/rdoc/generator/markup.rb +3 -12
  31. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  32. data/lib/rdoc/generator/pot/po.rb +84 -0
  33. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  34. data/lib/rdoc/generator/pot.rb +4 -3
  35. data/lib/rdoc/generator/ri.rb +1 -0
  36. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
  37. data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
  38. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
  39. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
  40. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
  41. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
  42. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
  43. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
  49. data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
  50. data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
  51. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
  52. data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
  53. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
  54. data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
  55. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
  56. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
  57. data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
  58. data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
  59. data/lib/rdoc/generator.rb +1 -1
  60. data/lib/rdoc/ghost_method.rb +1 -0
  61. data/lib/rdoc/i18n/locale.rb +2 -1
  62. data/lib/rdoc/i18n/text.rb +5 -4
  63. data/lib/rdoc/i18n.rb +3 -2
  64. data/lib/rdoc/include.rb +1 -0
  65. data/lib/rdoc/known_classes.rb +1 -0
  66. data/lib/rdoc/markdown/entities.rb +1 -0
  67. data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
  68. data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
  69. data/lib/rdoc/markdown.kpeg +94 -51
  70. data/lib/rdoc/markdown.rb +1171 -619
  71. data/lib/rdoc/markup/attr_changer.rb +1 -0
  72. data/lib/rdoc/markup/attr_span.rb +9 -2
  73. data/lib/rdoc/markup/attribute_manager.rb +115 -49
  74. data/lib/rdoc/markup/attributes.rb +7 -6
  75. data/lib/rdoc/markup/blank_line.rb +1 -0
  76. data/lib/rdoc/markup/block_quote.rb +1 -0
  77. data/lib/rdoc/markup/document.rb +1 -0
  78. data/lib/rdoc/markup/formatter.rb +25 -23
  79. data/lib/rdoc/markup/hard_break.rb +1 -0
  80. data/lib/rdoc/markup/heading.rb +4 -3
  81. data/lib/rdoc/markup/include.rb +1 -0
  82. data/lib/rdoc/markup/indented_paragraph.rb +1 -0
  83. data/lib/rdoc/markup/list.rb +1 -0
  84. data/lib/rdoc/markup/list_item.rb +1 -0
  85. data/lib/rdoc/markup/paragraph.rb +1 -0
  86. data/lib/rdoc/markup/parser.rb +78 -61
  87. data/lib/rdoc/markup/pre_process.rb +12 -9
  88. data/lib/rdoc/markup/raw.rb +1 -0
  89. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  90. data/lib/rdoc/markup/rule.rb +1 -0
  91. data/lib/rdoc/markup/to_ansi.rb +1 -0
  92. data/lib/rdoc/markup/to_bs.rb +4 -5
  93. data/lib/rdoc/markup/to_html.rb +71 -25
  94. data/lib/rdoc/markup/to_html_crossref.rb +41 -25
  95. data/lib/rdoc/markup/to_html_snippet.rb +10 -9
  96. data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
  97. data/lib/rdoc/markup/to_label.rb +10 -9
  98. data/lib/rdoc/markup/to_markdown.rb +9 -8
  99. data/lib/rdoc/markup/to_rdoc.rb +35 -6
  100. data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
  101. data/lib/rdoc/markup/to_test.rb +1 -0
  102. data/lib/rdoc/markup/to_tt_only.rb +3 -2
  103. data/lib/rdoc/markup/verbatim.rb +1 -0
  104. data/lib/rdoc/markup.rb +14 -16
  105. data/lib/rdoc/meta_method.rb +1 -0
  106. data/lib/rdoc/method_attr.rb +2 -1
  107. data/lib/rdoc/mixin.rb +1 -0
  108. data/lib/rdoc/normal_class.rb +3 -2
  109. data/lib/rdoc/normal_module.rb +1 -0
  110. data/lib/rdoc/options.rb +92 -58
  111. data/lib/rdoc/parser/c.rb +219 -223
  112. data/lib/rdoc/parser/changelog.rb +155 -18
  113. data/lib/rdoc/parser/markdown.rb +1 -0
  114. data/lib/rdoc/parser/rd.rb +1 -0
  115. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  116. data/lib/rdoc/parser/ruby.rb +635 -468
  117. data/lib/rdoc/parser/ruby_tools.rb +33 -33
  118. data/lib/rdoc/parser/simple.rb +3 -3
  119. data/lib/rdoc/parser/text.rb +1 -0
  120. data/lib/rdoc/parser.rb +17 -50
  121. data/lib/rdoc/rd/block_parser.rb +66 -65
  122. data/lib/rdoc/rd/block_parser.ry +3 -3
  123. data/lib/rdoc/rd/inline.rb +5 -4
  124. data/lib/rdoc/rd/inline_parser.rb +52 -51
  125. data/lib/rdoc/rd/inline_parser.ry +1 -1
  126. data/lib/rdoc/rd.rb +1 -0
  127. data/lib/rdoc/rdoc.rb +68 -63
  128. data/lib/rdoc/require.rb +1 -0
  129. data/lib/rdoc/ri/driver.rb +133 -58
  130. data/lib/rdoc/ri/formatter.rb +1 -0
  131. data/lib/rdoc/ri/paths.rb +4 -20
  132. data/lib/rdoc/ri/store.rb +1 -0
  133. data/lib/rdoc/ri/task.rb +71 -0
  134. data/lib/rdoc/ri.rb +1 -0
  135. data/lib/rdoc/rubygems_hook.rb +5 -12
  136. data/lib/rdoc/servlet.rb +24 -14
  137. data/lib/rdoc/single_class.rb +1 -0
  138. data/lib/rdoc/stats/normal.rb +20 -21
  139. data/lib/rdoc/stats/quiet.rb +1 -0
  140. data/lib/rdoc/stats/verbose.rb +1 -0
  141. data/lib/rdoc/stats.rb +1 -0
  142. data/lib/rdoc/store.rb +41 -41
  143. data/lib/rdoc/task.rb +2 -3
  144. data/lib/rdoc/text.rb +19 -38
  145. data/lib/rdoc/token_stream.rb +56 -32
  146. data/lib/rdoc/tom_doc.rb +17 -11
  147. data/lib/rdoc/top_level.rb +9 -2
  148. data/lib/rdoc/version.rb +8 -0
  149. data/lib/rdoc.rb +24 -10
  150. data/man/ri.1 +247 -0
  151. data/rdoc.gemspec +248 -0
  152. metadata +43 -236
  153. data/.autotest +0 -24
  154. data/.document +0 -5
  155. data/Manifest.txt +0 -306
  156. data/lib/gauntlet_rdoc.rb +0 -84
  157. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
  158. data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
  159. data/lib/rdoc/markdown/literals_1_8.rb +0 -416
  160. data/lib/rdoc/markup/formatter_test_case.rb +0 -767
  161. data/lib/rdoc/markup/inline.rb +0 -1
  162. data/lib/rdoc/markup/special.rb +0 -40
  163. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
  164. data/lib/rdoc/ruby_lex.rb +0 -1377
  165. data/lib/rdoc/ruby_token.rb +0 -460
  166. data/lib/rdoc/test_case.rb +0 -217
  167. data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
  168. data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
  169. data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
  170. data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
  171. data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
  172. data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
  173. data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
  174. data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
  175. data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
  176. data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
  177. data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
  178. data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
  179. data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
  180. data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
  181. data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
  182. data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
  183. data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
  184. data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
  185. data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
  186. data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
  187. data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
  188. data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
  189. data/test/README +0 -1
  190. data/test/binary.dat +0 -0
  191. data/test/hidden.zip.txt +0 -1
  192. data/test/test.ja.largedoc +0 -3
  193. data/test/test.ja.rdoc +0 -10
  194. data/test/test.ja.txt +0 -8
  195. data/test/test.txt +0 -1
  196. data/test/test_rdoc_alias.rb +0 -13
  197. data/test/test_rdoc_any_method.rb +0 -460
  198. data/test/test_rdoc_attr.rb +0 -190
  199. data/test/test_rdoc_class_module.rb +0 -1492
  200. data/test/test_rdoc_code_object.rb +0 -450
  201. data/test/test_rdoc_comment.rb +0 -504
  202. data/test/test_rdoc_constant.rb +0 -181
  203. data/test/test_rdoc_context.rb +0 -901
  204. data/test/test_rdoc_context_section.rb +0 -130
  205. data/test/test_rdoc_cross_reference.rb +0 -192
  206. data/test/test_rdoc_encoding.rb +0 -227
  207. data/test/test_rdoc_extend.rb +0 -94
  208. data/test/test_rdoc_generator_darkfish.rb +0 -229
  209. data/test/test_rdoc_generator_json_index.rb +0 -324
  210. data/test/test_rdoc_generator_markup.rb +0 -59
  211. data/test/test_rdoc_generator_pot.rb +0 -91
  212. data/test/test_rdoc_generator_pot_po.rb +0 -51
  213. data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
  214. data/test/test_rdoc_generator_ri.rb +0 -78
  215. data/test/test_rdoc_i18n_locale.rb +0 -73
  216. data/test/test_rdoc_i18n_text.rb +0 -123
  217. data/test/test_rdoc_include.rb +0 -108
  218. data/test/test_rdoc_markdown.rb +0 -980
  219. data/test/test_rdoc_markdown_test.rb +0 -1884
  220. data/test/test_rdoc_markup.rb +0 -95
  221. data/test/test_rdoc_markup_attribute_manager.rb +0 -364
  222. data/test/test_rdoc_markup_attributes.rb +0 -39
  223. data/test/test_rdoc_markup_document.rb +0 -207
  224. data/test/test_rdoc_markup_formatter.rb +0 -175
  225. data/test/test_rdoc_markup_hard_break.rb +0 -31
  226. data/test/test_rdoc_markup_heading.rb +0 -29
  227. data/test/test_rdoc_markup_include.rb +0 -19
  228. data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
  229. data/test/test_rdoc_markup_paragraph.rb +0 -32
  230. data/test/test_rdoc_markup_parser.rb +0 -1680
  231. data/test/test_rdoc_markup_pre_process.rb +0 -473
  232. data/test/test_rdoc_markup_raw.rb +0 -22
  233. data/test/test_rdoc_markup_to_ansi.rb +0 -369
  234. data/test/test_rdoc_markup_to_bs.rb +0 -366
  235. data/test/test_rdoc_markup_to_html.rb +0 -662
  236. data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
  237. data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
  238. data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
  239. data/test/test_rdoc_markup_to_label.rb +0 -112
  240. data/test/test_rdoc_markup_to_markdown.rb +0 -389
  241. data/test/test_rdoc_markup_to_rdoc.rb +0 -377
  242. data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
  243. data/test/test_rdoc_markup_to_tt_only.rb +0 -246
  244. data/test/test_rdoc_markup_verbatim.rb +0 -29
  245. data/test/test_rdoc_method_attr.rb +0 -193
  246. data/test/test_rdoc_normal_class.rb +0 -47
  247. data/test/test_rdoc_normal_module.rb +0 -42
  248. data/test/test_rdoc_options.rb +0 -766
  249. data/test/test_rdoc_parser.rb +0 -327
  250. data/test/test_rdoc_parser_c.rb +0 -1896
  251. data/test/test_rdoc_parser_changelog.rb +0 -315
  252. data/test/test_rdoc_parser_markdown.rb +0 -61
  253. data/test/test_rdoc_parser_rd.rb +0 -55
  254. data/test/test_rdoc_parser_ruby.rb +0 -3322
  255. data/test/test_rdoc_parser_simple.rb +0 -115
  256. data/test/test_rdoc_rd.rb +0 -30
  257. data/test/test_rdoc_rd_block_parser.rb +0 -535
  258. data/test/test_rdoc_rd_inline.rb +0 -63
  259. data/test/test_rdoc_rd_inline_parser.rb +0 -177
  260. data/test/test_rdoc_rdoc.rb +0 -455
  261. data/test/test_rdoc_require.rb +0 -25
  262. data/test/test_rdoc_ri_driver.rb +0 -1436
  263. data/test/test_rdoc_ri_paths.rb +0 -155
  264. data/test/test_rdoc_ruby_lex.rb +0 -421
  265. data/test/test_rdoc_ruby_token.rb +0 -19
  266. data/test/test_rdoc_rubygems_hook.rb +0 -251
  267. data/test/test_rdoc_servlet.rb +0 -534
  268. data/test/test_rdoc_single_class.rb +0 -20
  269. data/test/test_rdoc_stats.rb +0 -722
  270. data/test/test_rdoc_store.rb +0 -993
  271. data/test/test_rdoc_task.rb +0 -173
  272. data/test/test_rdoc_text.rb +0 -557
  273. data/test/test_rdoc_token_stream.rb +0 -42
  274. data/test/test_rdoc_tom_doc.rb +0 -520
  275. data/test/test_rdoc_top_level.rb +0 -287
  276. data/test/xref_data.rb +0 -76
  277. data/test/xref_test_case.rb +0 -67
@@ -1,155 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocRIPaths < RDoc::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @orig_gem_path = Gem.path
9
-
10
- @tempdir = File.join Dir.tmpdir, "test_rdoc_ri_paths_#{$$}"
11
- Gem.use_paths @tempdir
12
- Gem.ensure_gem_subdirectories @tempdir
13
-
14
- specs = [
15
- @rake_10 = Gem::Specification.new('rake', '10.0.1'),
16
- @rdoc_4_0 = Gem::Specification.new('rdoc', '4.0'),
17
- @rdoc_3_12 = Gem::Specification.new('rdoc', '3.12'),
18
- @nodoc = Gem::Specification.new('nodoc', '1.0'),
19
- ]
20
-
21
- specs.each do |spec|
22
- spec.loaded_from = spec.spec_file
23
-
24
- open spec.spec_file, 'w' do |file|
25
- file.write spec.to_ruby_for_cache
26
- end
27
-
28
- FileUtils.mkdir_p File.join(spec.doc_dir, 'ri') unless
29
- spec.name == 'nodoc'
30
- end
31
-
32
- Gem::Specification.reset
33
- Gem::Specification.all = specs
34
- end
35
-
36
- def teardown
37
- super
38
-
39
- Gem.use_paths(*@orig_gem_path)
40
- Gem::Specification.reset
41
- FileUtils.rm_rf @tempdir
42
- end
43
-
44
- def test_class_each
45
- enum = RDoc::RI::Paths.each true, true, true, :all
46
-
47
- path = enum.map { |dir,| dir }
48
-
49
- assert_equal RDoc::RI::Paths.system_dir, path.shift
50
- assert_equal RDoc::RI::Paths.site_dir, path.shift
51
- assert_equal RDoc::RI::Paths.home_dir, path.shift
52
- assert_equal File.join(@nodoc.doc_dir, 'ri'), path.shift
53
- assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
54
- assert_equal File.join(@rdoc_4_0.doc_dir, 'ri'), path.shift
55
- assert_equal File.join(@rdoc_3_12.doc_dir, 'ri'), path.shift
56
- assert_empty path
57
- end
58
-
59
- def test_class_gemdirs_latest
60
- Dir.chdir @tempdir do
61
- gemdirs = RDoc::RI::Paths.gemdirs :latest
62
-
63
- expected = [
64
- File.join(@rake_10.doc_dir, 'ri'),
65
- File.join(@rdoc_4_0.doc_dir, 'ri'),
66
- ]
67
-
68
- assert_equal expected, gemdirs
69
- end
70
- end
71
-
72
- def test_class_gemdirs_legacy
73
- Dir.chdir @tempdir do
74
- gemdirs = RDoc::RI::Paths.gemdirs true
75
-
76
- expected = [
77
- File.join(@rake_10.doc_dir, 'ri'),
78
- File.join(@rdoc_4_0.doc_dir, 'ri'),
79
- ]
80
-
81
- assert_equal expected, gemdirs
82
- end
83
- end
84
-
85
- def test_class_gemdirs_all
86
- Dir.chdir @tempdir do
87
- gemdirs = RDoc::RI::Paths.gemdirs :all
88
-
89
- expected = [
90
- File.join(@nodoc.doc_dir, 'ri'),
91
- File.join(@rake_10.doc_dir, 'ri'),
92
- File.join(@rdoc_4_0.doc_dir, 'ri'),
93
- File.join(@rdoc_3_12.doc_dir, 'ri'),
94
- ]
95
-
96
- assert_equal expected, gemdirs
97
- end
98
- end
99
-
100
- def test_class_gem_dir
101
- dir = RDoc::RI::Paths.gem_dir 'rake', '10.0.1'
102
-
103
- expected = File.join @rake_10.doc_dir, 'ri'
104
-
105
- assert_equal expected, dir
106
- end
107
-
108
- def test_class_home_dir
109
- dir = RDoc::RI::Paths.home_dir
110
-
111
- assert_equal RDoc::RI::Paths::HOMEDIR, dir
112
- end
113
-
114
- def test_class_path_nonexistent
115
- temp_dir do |dir|
116
- nonexistent = File.join dir, 'nonexistent'
117
- dir = RDoc::RI::Paths.path true, true, true, true, nonexistent
118
-
119
- refute_includes dir, nonexistent
120
- end
121
- end
122
-
123
- def test_class_raw_path
124
- path = RDoc::RI::Paths.raw_path true, true, true, true
125
-
126
- assert_equal RDoc::RI::Paths.system_dir, path.shift
127
- assert_equal RDoc::RI::Paths.site_dir, path.shift
128
- assert_equal RDoc::RI::Paths.home_dir, path.shift
129
- assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
130
- end
131
-
132
- def test_class_raw_path_extra_dirs
133
- path = RDoc::RI::Paths.raw_path true, true, true, true, '/nonexistent'
134
-
135
- assert_equal '/nonexistent', path.shift
136
- assert_equal RDoc::RI::Paths.system_dir, path.shift
137
- assert_equal RDoc::RI::Paths.site_dir, path.shift
138
- assert_equal RDoc::RI::Paths.home_dir, path.shift
139
- assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
140
- end
141
-
142
- def test_class_site_dir
143
- dir = RDoc::RI::Paths.site_dir
144
-
145
- assert_equal File.join(RDoc::RI::Paths::BASE, 'site'), dir
146
- end
147
-
148
- def test_class_system_dir
149
- dir = RDoc::RI::Paths.system_dir
150
-
151
- assert_equal File.join(RDoc::RI::Paths::BASE, 'system'), dir
152
- end
153
-
154
- end
155
-
@@ -1,421 +0,0 @@
1
- # coding: UTF-8
2
-
3
- require 'rdoc/test_case'
4
-
5
- class TestRDocRubyLex < RDoc::TestCase
6
-
7
- def setup
8
- @TK = RDoc::RubyToken
9
- end
10
-
11
- def test_class_tokenize
12
- tokens = RDoc::RubyLex.tokenize "def x() end", nil
13
-
14
- expected = [
15
- @TK::TkDEF .new( 0, 1, 0, "def"),
16
- @TK::TkSPACE .new( 3, 1, 3, " "),
17
- @TK::TkIDENTIFIER.new( 4, 1, 4, "x"),
18
- @TK::TkLPAREN .new( 5, 1, 5, "("),
19
- @TK::TkRPAREN .new( 6, 1, 6, ")"),
20
- @TK::TkSPACE .new( 7, 1, 7, " "),
21
- @TK::TkEND .new( 8, 1, 8, "end"),
22
- @TK::TkNL .new(11, 1, 11, "\n"),
23
- ]
24
-
25
- assert_equal expected, tokens
26
- end
27
-
28
- def test_class_tokenize___END__
29
- tokens = RDoc::RubyLex.tokenize '__END__', nil
30
-
31
- expected = [
32
- @TK::TkEND_OF_SCRIPT.new(0, 1, 0, '__END__'),
33
- @TK::TkNL .new(7, 1, 7, "\n"),
34
- ]
35
-
36
- assert_equal expected, tokens
37
- end
38
-
39
- def test_class_tokenize_character_literal
40
- tokens = RDoc::RubyLex.tokenize "?\\", nil
41
-
42
- expected = [
43
- @TK::TkCHAR.new( 0, 1, 0, "?\\"),
44
- @TK::TkNL .new( 2, 1, 2, "\n"),
45
- ]
46
-
47
- assert_equal expected, tokens
48
- end
49
-
50
- def test_class_tokenize_def_heredoc
51
- tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
52
- def x
53
- <<E
54
- Line 1
55
- Line 2
56
- E
57
- end
58
- RUBY
59
-
60
- expected = [
61
- @TK::TkDEF .new( 0, 1, 0, 'def'),
62
- @TK::TkSPACE .new( 3, 1, 3, ' '),
63
- @TK::TkIDENTIFIER.new( 4, 1, 4, 'x'),
64
- @TK::TkNL .new( 5, 1, 5, "\n"),
65
- @TK::TkSPACE .new( 6, 2, 0, ' '),
66
- @TK::TkHEREDOC .new( 8, 2, 2,
67
- %Q{<<E\nLine 1\nLine 2\nE}),
68
- @TK::TkNL .new(27, 5, 28, "\n"),
69
- @TK::TkEND .new(28, 6, 0, 'end'),
70
- @TK::TkNL .new(31, 6, 28, "\n"),
71
- ]
72
-
73
- assert_equal expected, tokens
74
- end
75
-
76
- def test_class_tokenize_hash_symbol
77
- tokens = RDoc::RubyLex.tokenize '{ class:"foo" }', nil
78
-
79
- expected = [
80
- @TK::TkLBRACE .new( 0, 1, 0, '{'),
81
- @TK::TkSPACE .new( 1, 1, 1, ' '),
82
- @TK::TkIDENTIFIER.new( 2, 1, 2, 'class'),
83
- @TK::TkSYMBEG .new( 7, 1, 7, ':'),
84
- @TK::TkSTRING .new( 8, 1, 8, '"foo"'),
85
- @TK::TkSPACE .new(13, 1, 13, ' '),
86
- @TK::TkRBRACE .new(14, 1, 14, '}'),
87
- @TK::TkNL .new(15, 1, 15, "\n"),
88
- ]
89
-
90
- assert_equal expected, tokens
91
- end
92
-
93
- def test_class_tokenize_heredoc_CR_NL
94
- tokens = RDoc::RubyLex.tokenize <<-RUBY, nil
95
- string = <<-STRING\r
96
- Line 1\r
97
- Line 2\r
98
- STRING\r
99
- RUBY
100
-
101
- expected = [
102
- @TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
103
- @TK::TkSPACE .new( 6, 1, 6, ' '),
104
- @TK::TkASSIGN .new( 7, 1, 7, '='),
105
- @TK::TkSPACE .new( 8, 1, 8, ' '),
106
- @TK::TkHEREDOC .new( 9, 1, 9,
107
- %Q{<<-STRING\nLine 1\nLine 2\n STRING}),
108
- @TK::TkSPACE .new(44, 4, 45, "\r"),
109
- @TK::TkNL .new(45, 4, 46, "\n"),
110
- ]
111
-
112
- assert_equal expected, tokens
113
- end
114
-
115
- def test_class_tokenize_heredoc_call
116
- tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
117
- string = <<-STRING.chomp
118
- Line 1
119
- Line 2
120
- STRING
121
- RUBY
122
-
123
- expected = [
124
- @TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
125
- @TK::TkSPACE .new( 6, 1, 6, ' '),
126
- @TK::TkASSIGN .new( 7, 1, 7, '='),
127
- @TK::TkSPACE .new( 8, 1, 8, ' '),
128
- @TK::TkSTRING .new( 9, 1, 9, %Q{"Line 1\nLine 2\n"}),
129
- @TK::TkDOT .new(41, 4, 42, '.'),
130
- @TK::TkIDENTIFIER.new(42, 4, 43, 'chomp'),
131
- @TK::TkNL .new(47, 4, 48, "\n"),
132
- ]
133
-
134
- assert_equal expected, tokens
135
- end
136
-
137
- def test_class_tokenize_heredoc_indent
138
- tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
139
- string = <<-STRING
140
- Line 1
141
- Line 2
142
- STRING
143
- RUBY
144
-
145
- expected = [
146
- @TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
147
- @TK::TkSPACE .new( 6, 1, 6, ' '),
148
- @TK::TkASSIGN .new( 7, 1, 7, '='),
149
- @TK::TkSPACE .new( 8, 1, 8, ' '),
150
- @TK::TkHEREDOC .new( 9, 1, 9,
151
- %Q{<<-STRING\nLine 1\nLine 2\n STRING}),
152
- @TK::TkNL .new(41, 4, 42, "\n"),
153
- ]
154
-
155
- assert_equal expected, tokens
156
- end
157
-
158
- def test_class_tokenize_heredoc_missing_end
159
- e = assert_raises RDoc::RubyLex::Error do
160
- RDoc::RubyLex.tokenize <<-'RUBY', nil
161
- >> string1 = <<-TXT
162
- >" That's swell
163
- >" TXT
164
- RUBY
165
- end
166
-
167
- assert_equal 'Missing terminating TXT for string', e.message
168
- end
169
-
170
- def test_class_tokenize_heredoc_percent_N
171
- tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
172
- a b <<-U
173
- %N
174
- U
175
- RUBY
176
-
177
- expected = [
178
- @TK::TkIDENTIFIER.new( 0, 1, 0, 'a'),
179
- @TK::TkSPACE .new( 1, 1, 1, ' '),
180
- @TK::TkIDENTIFIER.new( 2, 1, 2, 'b'),
181
- @TK::TkSPACE .new( 3, 1, 3, ' '),
182
- @TK::TkHEREDOC .new( 4, 1, 4, %Q{<<-U\n%N\nU}),
183
- @TK::TkNL .new(13, 3, 14, "\n"),
184
- ]
185
-
186
- assert_equal expected, tokens
187
- end
188
-
189
- def test_class_tokenize_identifier_high_unicode
190
- tokens = RDoc::RubyLex.tokenize '𝖒', nil
191
-
192
- expected = @TK::TkIDENTIFIER.new(0, 1, 0, '𝖒')
193
-
194
- assert_equal expected, tokens.first
195
- end
196
-
197
- def test_class_tokenize_percent_1
198
- tokens = RDoc::RubyLex.tokenize 'v%10==10', nil
199
-
200
- expected = [
201
- @TK::TkIDENTIFIER.new(0, 1, 0, 'v'),
202
- @TK::TkMOD.new( 1, 1, 1, '%'),
203
- @TK::TkINTEGER.new( 2, 1, 2, '10'),
204
- @TK::TkEQ.new( 4, 1, 4, '=='),
205
- @TK::TkINTEGER.new( 6, 1, 6, '10'),
206
- @TK::TkNL.new( 8, 1, 8, "\n"),
207
- ]
208
-
209
- assert_equal expected, tokens
210
- end
211
-
212
- def test_class_tokenize_percent_r
213
- tokens = RDoc::RubyLex.tokenize '%r[hi]', nil
214
-
215
- expected = [
216
- @TK::TkREGEXP.new( 0, 1, 0, '%r[hi]'),
217
- @TK::TkNL .new( 6, 1, 6, "\n"),
218
- ]
219
-
220
- assert_equal expected, tokens
221
- end
222
-
223
- def test_class_tokenize_percent_w
224
- tokens = RDoc::RubyLex.tokenize '%w[hi]', nil
225
-
226
- expected = [
227
- @TK::TkDSTRING.new( 0, 1, 0, '%w[hi]'),
228
- @TK::TkNL .new( 6, 1, 6, "\n"),
229
- ]
230
-
231
- assert_equal expected, tokens
232
- end
233
-
234
- def test_class_tokenize_percent_w_quote
235
- tokens = RDoc::RubyLex.tokenize '%w"hi"', nil
236
-
237
- expected = [
238
- @TK::TkDSTRING.new( 0, 1, 0, '%w"hi"'),
239
- @TK::TkNL .new( 6, 1, 6, "\n"),
240
- ]
241
-
242
- assert_equal expected, tokens
243
- end
244
-
245
- def test_class_tokenize_regexp
246
- tokens = RDoc::RubyLex.tokenize "/hay/", nil
247
-
248
- expected = [
249
- @TK::TkREGEXP.new( 0, 1, 0, "/hay/"),
250
- @TK::TkNL .new( 5, 1, 5, "\n"),
251
- ]
252
-
253
- assert_equal expected, tokens
254
- end
255
-
256
- def test_class_tokenize_regexp_options
257
- tokens = RDoc::RubyLex.tokenize "/hAY/i", nil
258
-
259
- expected = [
260
- @TK::TkREGEXP.new( 0, 1, 0, "/hAY/i"),
261
- @TK::TkNL .new( 6, 1, 6, "\n"),
262
- ]
263
-
264
- assert_equal expected, tokens
265
-
266
- tokens = RDoc::RubyLex.tokenize "/hAY/ix", nil
267
-
268
- expected = [
269
- @TK::TkREGEXP.new( 0, 1, 0, "/hAY/ix"),
270
- @TK::TkNL .new( 7, 1, 7, "\n"),
271
- ]
272
-
273
- assert_equal expected, tokens
274
- end
275
-
276
- def test_class_tokenize_regexp_backref
277
- tokens = RDoc::RubyLex.tokenize "/[csh](..) [csh]\\1 in/", nil
278
-
279
- expected = [
280
- @TK::TkREGEXP.new( 0, 1, 0, "/[csh](..) [csh]\\1 in/"),
281
- @TK::TkNL .new(22, 1, 22, "\n"),
282
- ]
283
-
284
- assert_equal expected, tokens
285
- end
286
-
287
- def test_class_tokenize_regexp_escape
288
- tokens = RDoc::RubyLex.tokenize "/\\//", nil
289
-
290
- expected = [
291
- @TK::TkREGEXP.new( 0, 1, 0, "/\\//"),
292
- @TK::TkNL .new( 4, 1, 4, "\n"),
293
- ]
294
-
295
- assert_equal expected, tokens
296
- end
297
-
298
- def test_class_tokenize_string
299
- tokens = RDoc::RubyLex.tokenize "'hi'", nil
300
-
301
- expected = [
302
- @TK::TkSTRING.new( 0, 1, 0, "'hi'"),
303
- @TK::TkNL .new( 4, 1, 4, "\n"),
304
- ]
305
-
306
- assert_equal expected, tokens
307
- end
308
-
309
- def test_class_tokenize_string_escape
310
- tokens = RDoc::RubyLex.tokenize '"\\n"', nil
311
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\n\""), tokens.first
312
-
313
- tokens = RDoc::RubyLex.tokenize '"\\r"', nil
314
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\r\""), tokens.first
315
-
316
- tokens = RDoc::RubyLex.tokenize '"\\f"', nil
317
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\f\""), tokens.first
318
-
319
- tokens = RDoc::RubyLex.tokenize '"\\\\"', nil
320
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\\\\""), tokens.first
321
-
322
- tokens = RDoc::RubyLex.tokenize '"\\t"', nil
323
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\t\""), tokens.first
324
-
325
- tokens = RDoc::RubyLex.tokenize '"\\v"', nil
326
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\v\""), tokens.first
327
-
328
- tokens = RDoc::RubyLex.tokenize '"\\a"', nil
329
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\a\""), tokens.first
330
-
331
- tokens = RDoc::RubyLex.tokenize '"\\e"', nil
332
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\e\""), tokens.first
333
-
334
- tokens = RDoc::RubyLex.tokenize '"\\b"', nil
335
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\b\""), tokens.first
336
-
337
- tokens = RDoc::RubyLex.tokenize '"\\s"', nil
338
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\s\""), tokens.first
339
-
340
- tokens = RDoc::RubyLex.tokenize '"\\d"', nil
341
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\d\""), tokens.first
342
-
343
- end
344
-
345
- def test_class_tokenize_string_escape_control
346
- tokens = RDoc::RubyLex.tokenize '"\\C-a"', nil
347
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\C-a\""), tokens.first
348
-
349
- tokens = RDoc::RubyLex.tokenize '"\\c\\a"', nil
350
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\c\\a\""), tokens.first
351
-
352
- tokens = RDoc::RubyLex.tokenize '"\\C-\\M-a"', nil
353
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\C-\\M-a\""), tokens.first
354
- end
355
-
356
- def test_class_tokenize_string_escape_meta
357
- tokens = RDoc::RubyLex.tokenize '"\\M-a"', nil
358
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\M-a\""), tokens.first
359
-
360
- tokens = RDoc::RubyLex.tokenize '"\\M-\\C-a"', nil
361
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\M-\\C-a\""), tokens.first
362
- end
363
-
364
- def test_class_tokenize_string_escape_hexadecimal
365
- tokens = RDoc::RubyLex.tokenize '"\\x0"', nil
366
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x0\""), tokens.first
367
-
368
- tokens = RDoc::RubyLex.tokenize '"\\x00"', nil
369
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x00\""), tokens.first
370
-
371
- tokens = RDoc::RubyLex.tokenize '"\\x000"', nil
372
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x000\""), tokens.first
373
- end
374
-
375
- def test_class_tokenize_string_escape_octal
376
- tokens = RDoc::RubyLex.tokenize '"\\0"', nil
377
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\0\""), tokens.first
378
-
379
- tokens = RDoc::RubyLex.tokenize '"\\00"', nil
380
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\00\""), tokens.first
381
-
382
- tokens = RDoc::RubyLex.tokenize '"\\000"', nil
383
- assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\000\""), tokens.first
384
- end
385
-
386
- def test_class_tokenize_symbol
387
- tokens = RDoc::RubyLex.tokenize 'scope module: :v1', nil
388
-
389
- expected = [
390
- @TK::TkIDENTIFIER.new( 0, 1, 0, 'scope'),
391
- @TK::TkSPACE .new( 5, 1, 5, ' '),
392
- @TK::TkIDENTIFIER.new( 6, 1, 6, 'module'),
393
- @TK::TkCOLON .new(12, 1, 12, ':'),
394
- @TK::TkSPACE .new(13, 1, 13, ' '),
395
- @TK::TkSYMBEG .new(14, 1, 14, ':'),
396
- @TK::TkIDENTIFIER.new(15, 1, 15, 'v1'),
397
- @TK::TkNL .new(17, 1, 17, "\n"),
398
- ]
399
-
400
- assert_equal expected, tokens
401
- end
402
-
403
- def test_unary_minus
404
- ruby_lex = RDoc::RubyLex.new("-1", nil)
405
- assert_equal("-1", ruby_lex.token.value)
406
-
407
- ruby_lex = RDoc::RubyLex.new("a[-2]", nil)
408
- 2.times { ruby_lex.token } # skip "a" and "["
409
- assert_equal("-2", ruby_lex.token.value)
410
-
411
- ruby_lex = RDoc::RubyLex.new("a[0..-12]", nil)
412
- 4.times { ruby_lex.token } # skip "a", "[", "0", and ".."
413
- assert_equal("-12", ruby_lex.token.value)
414
-
415
- ruby_lex = RDoc::RubyLex.new("0+-0.1", nil)
416
- 2.times { ruby_lex.token } # skip "0" and "+"
417
- assert_equal("-0.1", ruby_lex.token.value)
418
- end
419
-
420
- end
421
-
@@ -1,19 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocRubyToken < RDoc::TestCase
4
-
5
- def test_Token_text
6
- token = RDoc::RubyToken::Token.new 0, 0, 0, 'text'
7
-
8
- assert_equal 'text', token.text
9
- end
10
-
11
- def test_TkOp_name
12
- token = RDoc::RubyToken::TkOp.new 0, 0, 0, '&'
13
-
14
- assert_equal '&', token.text
15
- assert_equal '&', token.name
16
- end
17
-
18
- end
19
-