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.

Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +13 -0
  3. data/.travis.yml +23 -0
  4. data/CONTRIBUTING.rdoc +4 -3
  5. data/Gemfile +3 -0
  6. data/History.rdoc +15 -4
  7. data/LEGAL.rdoc +2 -2
  8. data/README.rdoc +1 -0
  9. data/Rakefile +41 -79
  10. data/bin/console +7 -0
  11. data/bin/setup +6 -0
  12. data/{bin → exe}/rdoc +0 -0
  13. data/{bin → exe}/ri +0 -0
  14. data/lib/rdoc.rb +2 -1
  15. data/lib/rdoc/alias.rb +1 -0
  16. data/lib/rdoc/anon_class.rb +1 -0
  17. data/lib/rdoc/any_method.rb +1 -0
  18. data/lib/rdoc/attr.rb +1 -0
  19. data/lib/rdoc/class_module.rb +1 -0
  20. data/lib/rdoc/code_object.rb +1 -0
  21. data/lib/rdoc/code_objects.rb +1 -0
  22. data/lib/rdoc/comment.rb +1 -0
  23. data/lib/rdoc/constant.rb +1 -0
  24. data/lib/rdoc/context.rb +4 -1
  25. data/lib/rdoc/context/section.rb +7 -0
  26. data/lib/rdoc/cross_reference.rb +1 -0
  27. data/lib/rdoc/encoding.rb +14 -0
  28. data/lib/rdoc/erb_partial.rb +1 -0
  29. data/lib/rdoc/erbio.rb +1 -0
  30. data/lib/rdoc/extend.rb +1 -0
  31. data/lib/rdoc/generator.rb +1 -0
  32. data/lib/rdoc/generator/darkfish.rb +1 -0
  33. data/lib/rdoc/generator/json_index.rb +1 -0
  34. data/lib/rdoc/generator/markup.rb +1 -0
  35. data/lib/rdoc/generator/pot.rb +1 -0
  36. data/lib/rdoc/generator/pot/message_extractor.rb +1 -0
  37. data/lib/rdoc/generator/pot/po.rb +1 -0
  38. data/lib/rdoc/generator/pot/po_entry.rb +1 -0
  39. data/lib/rdoc/generator/ri.rb +1 -0
  40. data/lib/rdoc/generator/template/darkfish/_head.rhtml +2 -1
  41. data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
  42. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +7 -7
  43. data/lib/rdoc/generator/template/json_index/js/searcher.js +1 -0
  44. data/lib/rdoc/ghost_method.rb +1 -0
  45. data/lib/rdoc/i18n.rb +1 -0
  46. data/lib/rdoc/i18n/locale.rb +1 -0
  47. data/lib/rdoc/i18n/text.rb +1 -0
  48. data/lib/rdoc/include.rb +1 -0
  49. data/lib/rdoc/known_classes.rb +1 -0
  50. data/lib/rdoc/markdown.kpeg +2 -6
  51. data/lib/rdoc/markdown.rb +2 -6
  52. data/lib/rdoc/markdown/entities.rb +1 -0
  53. data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +0 -0
  54. data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
  55. data/lib/rdoc/markup.rb +1 -0
  56. data/lib/rdoc/markup/attr_changer.rb +1 -0
  57. data/lib/rdoc/markup/attr_span.rb +1 -0
  58. data/lib/rdoc/markup/attribute_manager.rb +1 -0
  59. data/lib/rdoc/markup/attributes.rb +1 -0
  60. data/lib/rdoc/markup/blank_line.rb +1 -0
  61. data/lib/rdoc/markup/block_quote.rb +1 -0
  62. data/lib/rdoc/markup/document.rb +1 -0
  63. data/lib/rdoc/markup/formatter.rb +1 -0
  64. data/lib/rdoc/markup/formatter_test_case.rb +1 -4
  65. data/lib/rdoc/markup/hard_break.rb +1 -0
  66. data/lib/rdoc/markup/heading.rb +1 -0
  67. data/lib/rdoc/markup/include.rb +1 -0
  68. data/lib/rdoc/markup/indented_paragraph.rb +1 -0
  69. data/lib/rdoc/markup/inline.rb +1 -0
  70. data/lib/rdoc/markup/list.rb +1 -0
  71. data/lib/rdoc/markup/list_item.rb +1 -0
  72. data/lib/rdoc/markup/paragraph.rb +1 -0
  73. data/lib/rdoc/markup/parser.rb +1 -0
  74. data/lib/rdoc/markup/pre_process.rb +1 -0
  75. data/lib/rdoc/markup/raw.rb +1 -0
  76. data/lib/rdoc/markup/rule.rb +1 -0
  77. data/lib/rdoc/markup/special.rb +1 -0
  78. data/lib/rdoc/markup/text_formatter_test_case.rb +1 -0
  79. data/lib/rdoc/markup/to_ansi.rb +1 -0
  80. data/lib/rdoc/markup/to_bs.rb +1 -0
  81. data/lib/rdoc/markup/to_html.rb +1 -0
  82. data/lib/rdoc/markup/to_html_crossref.rb +1 -0
  83. data/lib/rdoc/markup/to_html_snippet.rb +1 -0
  84. data/lib/rdoc/markup/to_joined_paragraph.rb +1 -0
  85. data/lib/rdoc/markup/to_label.rb +1 -0
  86. data/lib/rdoc/markup/to_markdown.rb +1 -0
  87. data/lib/rdoc/markup/to_rdoc.rb +1 -0
  88. data/lib/rdoc/markup/to_table_of_contents.rb +1 -0
  89. data/lib/rdoc/markup/to_test.rb +1 -0
  90. data/lib/rdoc/markup/to_tt_only.rb +1 -0
  91. data/lib/rdoc/markup/verbatim.rb +1 -0
  92. data/lib/rdoc/meta_method.rb +1 -0
  93. data/lib/rdoc/method_attr.rb +1 -0
  94. data/lib/rdoc/mixin.rb +1 -0
  95. data/lib/rdoc/normal_class.rb +1 -0
  96. data/lib/rdoc/normal_module.rb +1 -0
  97. data/lib/rdoc/options.rb +1 -0
  98. data/lib/rdoc/parser.rb +1 -0
  99. data/lib/rdoc/parser/c.rb +76 -33
  100. data/lib/rdoc/parser/changelog.rb +7 -1
  101. data/lib/rdoc/parser/markdown.rb +1 -0
  102. data/lib/rdoc/parser/rd.rb +1 -0
  103. data/lib/rdoc/parser/ruby.rb +1 -0
  104. data/lib/rdoc/parser/ruby_tools.rb +1 -0
  105. data/lib/rdoc/parser/simple.rb +1 -0
  106. data/lib/rdoc/parser/text.rb +1 -0
  107. data/lib/rdoc/rd.rb +1 -0
  108. data/lib/rdoc/rd/inline.rb +1 -0
  109. data/lib/rdoc/rdoc.rb +2 -1
  110. data/lib/rdoc/require.rb +1 -0
  111. data/lib/rdoc/ri.rb +1 -0
  112. data/lib/rdoc/ri/driver.rb +5 -19
  113. data/lib/rdoc/ri/formatter.rb +1 -0
  114. data/lib/rdoc/ri/paths.rb +1 -0
  115. data/lib/rdoc/ri/store.rb +1 -0
  116. data/lib/rdoc/ri/task.rb +72 -0
  117. data/lib/rdoc/ruby_lex.rb +11 -17
  118. data/lib/rdoc/ruby_token.rb +1 -0
  119. data/lib/rdoc/rubygems_hook.rb +1 -0
  120. data/lib/rdoc/servlet.rb +4 -3
  121. data/lib/rdoc/single_class.rb +1 -0
  122. data/lib/rdoc/stats.rb +1 -0
  123. data/lib/rdoc/stats/normal.rb +1 -0
  124. data/lib/rdoc/stats/quiet.rb +1 -0
  125. data/lib/rdoc/stats/verbose.rb +1 -0
  126. data/lib/rdoc/store.rb +3 -9
  127. data/lib/rdoc/task.rb +1 -0
  128. data/lib/rdoc/test_case.rb +1 -10
  129. data/lib/rdoc/text.rb +1 -0
  130. data/lib/rdoc/token_stream.rb +1 -0
  131. data/lib/rdoc/tom_doc.rb +1 -0
  132. data/lib/rdoc/top_level.rb +1 -0
  133. data/rdoc.gemspec +60 -0
  134. metadata +32 -155
  135. data/Manifest.txt +0 -309
  136. data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
  137. data/lib/rdoc/markdown/literals_1_8.rb +0 -416
  138. data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
  139. data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
  140. data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
  141. data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
  142. data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
  143. data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
  144. data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
  145. data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
  146. data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
  147. data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
  148. data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
  149. data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
  150. data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
  151. data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
  152. data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
  153. data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
  154. data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
  155. data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
  156. data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
  157. data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
  158. data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
  159. data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
  160. data/test/README +0 -1
  161. data/test/binary.dat +0 -0
  162. data/test/hidden.zip.txt +0 -1
  163. data/test/test.ja.largedoc +0 -3
  164. data/test/test.ja.rdoc +0 -10
  165. data/test/test.ja.txt +0 -8
  166. data/test/test.txt +0 -1
  167. data/test/test_rdoc_alias.rb +0 -13
  168. data/test/test_rdoc_any_method.rb +0 -460
  169. data/test/test_rdoc_attr.rb +0 -190
  170. data/test/test_rdoc_class_module.rb +0 -1492
  171. data/test/test_rdoc_code_object.rb +0 -450
  172. data/test/test_rdoc_comment.rb +0 -504
  173. data/test/test_rdoc_constant.rb +0 -181
  174. data/test/test_rdoc_context.rb +0 -901
  175. data/test/test_rdoc_context_section.rb +0 -130
  176. data/test/test_rdoc_cross_reference.rb +0 -192
  177. data/test/test_rdoc_encoding.rb +0 -227
  178. data/test/test_rdoc_extend.rb +0 -94
  179. data/test/test_rdoc_generator_darkfish.rb +0 -229
  180. data/test/test_rdoc_generator_json_index.rb +0 -324
  181. data/test/test_rdoc_generator_markup.rb +0 -59
  182. data/test/test_rdoc_generator_pot.rb +0 -91
  183. data/test/test_rdoc_generator_pot_po.rb +0 -51
  184. data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
  185. data/test/test_rdoc_generator_ri.rb +0 -78
  186. data/test/test_rdoc_i18n_locale.rb +0 -73
  187. data/test/test_rdoc_i18n_text.rb +0 -123
  188. data/test/test_rdoc_include.rb +0 -108
  189. data/test/test_rdoc_markdown.rb +0 -980
  190. data/test/test_rdoc_markdown_test.rb +0 -1884
  191. data/test/test_rdoc_markup.rb +0 -95
  192. data/test/test_rdoc_markup_attribute_manager.rb +0 -364
  193. data/test/test_rdoc_markup_attributes.rb +0 -39
  194. data/test/test_rdoc_markup_document.rb +0 -207
  195. data/test/test_rdoc_markup_formatter.rb +0 -175
  196. data/test/test_rdoc_markup_hard_break.rb +0 -31
  197. data/test/test_rdoc_markup_heading.rb +0 -29
  198. data/test/test_rdoc_markup_include.rb +0 -19
  199. data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
  200. data/test/test_rdoc_markup_paragraph.rb +0 -32
  201. data/test/test_rdoc_markup_parser.rb +0 -1680
  202. data/test/test_rdoc_markup_pre_process.rb +0 -473
  203. data/test/test_rdoc_markup_raw.rb +0 -22
  204. data/test/test_rdoc_markup_to_ansi.rb +0 -369
  205. data/test/test_rdoc_markup_to_bs.rb +0 -366
  206. data/test/test_rdoc_markup_to_html.rb +0 -662
  207. data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
  208. data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
  209. data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
  210. data/test/test_rdoc_markup_to_label.rb +0 -112
  211. data/test/test_rdoc_markup_to_markdown.rb +0 -389
  212. data/test/test_rdoc_markup_to_rdoc.rb +0 -377
  213. data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
  214. data/test/test_rdoc_markup_to_tt_only.rb +0 -246
  215. data/test/test_rdoc_markup_verbatim.rb +0 -29
  216. data/test/test_rdoc_method_attr.rb +0 -193
  217. data/test/test_rdoc_normal_class.rb +0 -47
  218. data/test/test_rdoc_normal_module.rb +0 -42
  219. data/test/test_rdoc_options.rb +0 -766
  220. data/test/test_rdoc_parser.rb +0 -327
  221. data/test/test_rdoc_parser_c.rb +0 -1896
  222. data/test/test_rdoc_parser_changelog.rb +0 -315
  223. data/test/test_rdoc_parser_markdown.rb +0 -61
  224. data/test/test_rdoc_parser_rd.rb +0 -55
  225. data/test/test_rdoc_parser_ruby.rb +0 -3322
  226. data/test/test_rdoc_parser_simple.rb +0 -115
  227. data/test/test_rdoc_rd.rb +0 -30
  228. data/test/test_rdoc_rd_block_parser.rb +0 -535
  229. data/test/test_rdoc_rd_inline.rb +0 -63
  230. data/test/test_rdoc_rd_inline_parser.rb +0 -177
  231. data/test/test_rdoc_rdoc.rb +0 -455
  232. data/test/test_rdoc_require.rb +0 -25
  233. data/test/test_rdoc_ri_driver.rb +0 -1436
  234. data/test/test_rdoc_ri_paths.rb +0 -155
  235. data/test/test_rdoc_ruby_lex.rb +0 -421
  236. data/test/test_rdoc_ruby_token.rb +0 -19
  237. data/test/test_rdoc_rubygems_hook.rb +0 -251
  238. data/test/test_rdoc_servlet.rb +0 -534
  239. data/test/test_rdoc_single_class.rb +0 -20
  240. data/test/test_rdoc_stats.rb +0 -722
  241. data/test/test_rdoc_store.rb +0 -993
  242. data/test/test_rdoc_task.rb +0 -173
  243. data/test/test_rdoc_text.rb +0 -557
  244. data/test/test_rdoc_token_stream.rb +0 -42
  245. data/test/test_rdoc_tom_doc.rb +0 -520
  246. data/test/test_rdoc_top_level.rb +0 -287
  247. data/test/xref_data.rb +0 -76
  248. data/test/xref_test_case.rb +0 -67
@@ -1,225 +0,0 @@
1
- require File.expand_path '../xref_test_case', __FILE__
2
-
3
- class TestRDocMarkupToHtmlCrossref < XrefTestCase
4
-
5
- def setup
6
- super
7
-
8
- @options.hyperlink_all = true
9
-
10
- @to = RDoc::Markup::ToHtmlCrossref.new @options, 'index.html', @c1
11
- end
12
-
13
- def test_convert_CROSSREF
14
- result = @to.convert 'C1'
15
-
16
- assert_equal para("<a href=\"C1.html\">C1</a>"), result
17
- end
18
-
19
- def test_convert_CROSSREF_label
20
- result = @to.convert 'C1@foo'
21
- assert_equal para("<a href=\"C1.html#label-foo\">foo at C1</a>"), result
22
-
23
- result = @to.convert 'C1#m@foo'
24
- assert_equal para("<a href=\"C1.html#method-i-m-label-foo\">foo at C1#m</a>"),
25
- result
26
- end
27
-
28
- def test_convert_CROSSREF_label_period
29
- result = @to.convert 'C1@foo.'
30
- assert_equal para("<a href=\"C1.html#label-foo\">foo at C1</a>."), result
31
- end
32
-
33
- def test_convert_CROSSREF_label_space
34
- result = @to.convert 'C1@foo+bar'
35
- assert_equal para("<a href=\"C1.html#label-foo+bar\">foo bar at C1</a>"),
36
- result
37
- end
38
-
39
- def test_convert_CROSSREF_section
40
- @c1.add_section 'Section'
41
-
42
- result = @to.convert 'C1@Section'
43
- assert_equal para("<a href=\"C1.html#Section\">Section at C1</a>"), result
44
- end
45
-
46
- def test_convert_RDOCLINK_rdoc_ref
47
- result = @to.convert 'rdoc-ref:C1'
48
-
49
- assert_equal para("<a href=\"C1.html\">C1</a>"), result
50
- end
51
-
52
- def test_convert_RDOCLINK_rdoc_ref_method
53
- result = @to.convert 'rdoc-ref:C1#m'
54
-
55
- assert_equal para("<a href=\"C1.html#method-i-m\">#m</a>"), result
56
- end
57
-
58
- def test_convert_RDOCLINK_rdoc_ref_method_label
59
- result = @to.convert 'rdoc-ref:C1#m@foo'
60
-
61
- assert_equal para("<a href=\"C1.html#method-i-m-label-foo\">foo at C1#m</a>"),
62
- result, 'rdoc-ref:C1#m@foo'
63
- end
64
-
65
- def test_convert_RDOCLINK_rdoc_ref_method_percent
66
- m = @c1.add_method RDoc::AnyMethod.new nil, '%'
67
- m.singleton = false
68
-
69
- result = @to.convert 'rdoc-ref:C1#%'
70
-
71
- assert_equal para("<a href=\"C1.html#method-i-25\">#%</a>"), result
72
-
73
- m.singleton = true
74
-
75
- result = @to.convert 'rdoc-ref:C1::%'
76
-
77
- assert_equal para("<a href=\"C1.html#method-c-25\">::%</a>"), result
78
- end
79
-
80
- def test_convert_RDOCLINK_rdoc_ref_method_percent_label
81
- m = @c1.add_method RDoc::AnyMethod.new nil, '%'
82
- m.singleton = false
83
-
84
- result = @to.convert 'rdoc-ref:C1#%@f'
85
-
86
- assert_equal para("<a href=\"C1.html#method-i-25-label-f\">f at C1#%</a>"),
87
- result
88
-
89
- m.singleton = true
90
-
91
- result = @to.convert 'rdoc-ref:C1::%@f'
92
-
93
- assert_equal para("<a href=\"C1.html#method-c-25-label-f\">f at C1::%</a>"),
94
- result
95
- end
96
-
97
- def test_convert_RDOCLINK_rdoc_ref_label
98
- result = @to.convert 'rdoc-ref:C1@foo'
99
-
100
- assert_equal para("<a href=\"C1.html#label-foo\">foo at C1</a>"), result,
101
- 'rdoc-ref:C1@foo'
102
- end
103
-
104
- def test_gen_url
105
- assert_equal '<a href="C1.html">Some class</a>',
106
- @to.gen_url('rdoc-ref:C1', 'Some class')
107
-
108
- assert_equal '<a href="http://example">HTTP example</a>',
109
- @to.gen_url('http://example', 'HTTP example')
110
- end
111
-
112
- def test_handle_special_CROSSREF
113
- assert_equal "<a href=\"C2/C3.html\">C2::C3</a>", SPECIAL('C2::C3')
114
- end
115
-
116
- def test_handle_special_CROSSREF_label
117
- assert_equal "<a href=\"C1.html#method-i-m-label-foo\">foo at C1#m</a>",
118
- SPECIAL('C1#m@foo')
119
- end
120
-
121
- def test_handle_special_CROSSREF_show_hash_false
122
- @to.show_hash = false
123
-
124
- assert_equal "<a href=\"C1.html#method-i-m\">m</a>",
125
- SPECIAL('#m')
126
- end
127
-
128
- def test_handle_special_HYPERLINK_rdoc
129
- readme = @store.add_file 'README.txt'
130
- readme.parser = RDoc::Parser::Simple
131
-
132
- @to = RDoc::Markup::ToHtmlCrossref.new @options, 'C2.html', @c2
133
-
134
- link = @to.handle_special_HYPERLINK hyper 'C2::C3'
135
-
136
- assert_equal '<a href="C2/C3.html">C2::C3</a>', link
137
-
138
- link = @to.handle_special_HYPERLINK hyper 'C4'
139
-
140
- assert_equal '<a href="C4.html">C4</a>', link
141
-
142
- link = @to.handle_special_HYPERLINK hyper 'README.txt'
143
-
144
- assert_equal '<a href="README_txt.html">README.txt</a>', link
145
- end
146
-
147
- def test_handle_special_TIDYLINK_rdoc
148
- readme = @store.add_file 'README.txt'
149
- readme.parser = RDoc::Parser::Simple
150
-
151
- @to = RDoc::Markup::ToHtmlCrossref.new @options, 'C2.html', @c2
152
-
153
- link = @to.handle_special_TIDYLINK tidy 'C2::C3'
154
-
155
- assert_equal '<a href="C2/C3.html">tidy</a>', link
156
-
157
- link = @to.handle_special_TIDYLINK tidy 'C4'
158
-
159
- assert_equal '<a href="C4.html">tidy</a>', link
160
-
161
- link = @to.handle_special_TIDYLINK tidy 'C1#m'
162
-
163
- assert_equal '<a href="C1.html#method-i-m">tidy</a>', link
164
-
165
- link = @to.handle_special_TIDYLINK tidy 'README.txt'
166
-
167
- assert_equal '<a href="README_txt.html">tidy</a>', link
168
- end
169
-
170
- def test_handle_special_TIDYLINK_label
171
- link = @to.handle_special_TIDYLINK tidy 'C1#m@foo'
172
-
173
- assert_equal "<a href=\"C1.html#method-i-m-label-foo\">tidy</a>",
174
- link, 'C1#m@foo'
175
- end
176
-
177
- def test_to_html_CROSSREF_email
178
- @options.hyperlink_all = false
179
-
180
- @to = RDoc::Markup::ToHtmlCrossref.new @options, 'index.html', @c1
181
-
182
- result = @to.to_html 'first.last@example.com'
183
-
184
- assert_equal 'first.last@example.com', result
185
- end
186
-
187
- def test_to_html_CROSSREF_email_hyperlink_all
188
- result = @to.to_html 'first.last@example.com'
189
-
190
- assert_equal 'first.last@example.com', result
191
- end
192
-
193
- def test_link
194
- assert_equal 'n', @to.link('n', 'n')
195
-
196
- assert_equal '<a href="C1.html#method-c-m">::m</a>', @to.link('m', 'm')
197
- end
198
-
199
- def test_link_class_method_full
200
- assert_equal '<a href="Parent.html#method-c-m">Parent.m</a>',
201
- @to.link('Parent::m', 'Parent::m')
202
- end
203
-
204
- def para text
205
- "\n<p>#{text}</p>\n"
206
- end
207
-
208
- def SPECIAL text
209
- @to.handle_special_CROSSREF special text
210
- end
211
-
212
- def hyper reference
213
- RDoc::Markup::Special.new 0, "rdoc-ref:#{reference}"
214
- end
215
-
216
- def special text
217
- RDoc::Markup::Special.new 0, text
218
- end
219
-
220
- def tidy reference
221
- RDoc::Markup::Special.new 0, "{tidy}[rdoc-ref:#{reference}]"
222
- end
223
-
224
- end
225
-
@@ -1,711 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocMarkupToHtmlSnippet < RDoc::Markup::FormatterTestCase
4
-
5
- add_visitor_tests
6
-
7
- def setup
8
- super
9
-
10
- @to = RDoc::Markup::ToHtmlSnippet.new @options, 100, 100
11
- @ellipsis = @to.to_html '...'
12
- end
13
-
14
- def accept_blank_line
15
- assert_empty @to.res.join
16
- end
17
-
18
- def accept_block_quote
19
- assert_equal "\n<blockquote><p>quote\n</blockquote>\n", @to.res.join
20
-
21
- assert_equal 5, @to.characters
22
- end
23
-
24
- def accept_document
25
- assert_equal "<p>hello\n", @to.res.join
26
- assert_equal 5, @to.characters
27
- end
28
-
29
- def accept_heading
30
- assert_equal "<p>Hello\n", @to.res.join
31
- assert_equal 5, @to.characters
32
- end
33
-
34
- def accept_heading_1
35
- assert_equal "<p>Hello\n", @to.res.join
36
- assert_equal 5, @to.characters
37
- end
38
-
39
- def accept_heading_2
40
- assert_equal "<p>Hello\n", @to.res.join
41
- assert_equal 5, @to.characters
42
- end
43
-
44
- def accept_heading_3
45
- assert_equal "<p>Hello\n", @to.res.join
46
- assert_equal 5, @to.characters
47
- end
48
-
49
- def accept_heading_4
50
- assert_equal "<p>Hello\n", @to.res.join
51
- assert_equal 5, @to.characters
52
- end
53
-
54
- def accept_heading_b
55
- assert_equal "<p><strong>Hello</strong>\n",
56
- @to.res.join
57
- assert_equal 5, @to.characters
58
- end
59
-
60
- def accept_heading_suppressed_crossref
61
- assert_equal "<p>Hello\n", @to.res.join
62
- assert_equal 5, @to.characters
63
- end
64
-
65
- def accept_list_end_bullet
66
- assert_equal [], @to.list
67
- assert_equal [], @to.in_list_entry
68
-
69
- assert_equal "\n", @to.res.join
70
- assert_equal 0, @to.characters
71
- end
72
-
73
- def accept_list_end_label
74
- assert_equal [], @to.list
75
- assert_equal [], @to.in_list_entry
76
-
77
- assert_equal "\n", @to.res.join
78
- assert_equal 0, @to.characters
79
- end
80
-
81
- def accept_list_end_lalpha
82
- assert_equal [], @to.list
83
- assert_equal [], @to.in_list_entry
84
-
85
- assert_equal "\n", @to.res.join
86
- assert_equal 0, @to.characters
87
- end
88
-
89
- def accept_list_end_number
90
- assert_equal [], @to.list
91
- assert_equal [], @to.in_list_entry
92
-
93
- assert_equal "\n", @to.res.join
94
- assert_equal 0, @to.characters
95
- end
96
-
97
- def accept_list_end_note
98
- assert_equal [], @to.list
99
- assert_equal [], @to.in_list_entry
100
-
101
- assert_equal "\n", @to.res.join
102
- assert_equal 0, @to.characters
103
- end
104
-
105
- def accept_list_end_ualpha
106
- assert_equal [], @to.list
107
- assert_equal [], @to.in_list_entry
108
-
109
- assert_equal "\n", @to.res.join
110
- assert_equal 0, @to.characters
111
- end
112
-
113
- def accept_list_item_end_bullet
114
- assert_equal [''], @to.in_list_entry
115
- assert_equal 0, @to.characters
116
- end
117
-
118
- def accept_list_item_end_label
119
- assert_equal [''], @to.in_list_entry
120
- assert_equal 4, @to.characters
121
- end
122
-
123
- def accept_list_item_end_lalpha
124
- assert_equal [''], @to.in_list_entry
125
- assert_equal 0, @to.characters
126
- end
127
-
128
- def accept_list_item_end_note
129
- assert_equal [''], @to.in_list_entry
130
- assert_equal 4, @to.characters
131
- end
132
-
133
- def accept_list_item_end_number
134
- assert_equal [''], @to.in_list_entry
135
- assert_equal 0, @to.characters
136
- end
137
-
138
- def accept_list_item_end_ualpha
139
- assert_equal [''], @to.in_list_entry
140
- assert_equal 0, @to.characters
141
- end
142
-
143
- def accept_list_item_start_bullet
144
- assert_equal "<p>", @to.res.join
145
- assert_equal 0, @to.characters
146
- end
147
-
148
- def accept_list_item_start_label
149
- assert_equal "<p>cat &mdash; ", @to.res.join
150
- assert_equal 4, @to.characters
151
- end
152
-
153
- def accept_list_item_start_lalpha
154
- assert_equal "<p>", @to.res.join
155
- assert_equal 0, @to.characters
156
- end
157
-
158
- def accept_list_item_start_note
159
- assert_equal "<p>cat &mdash; ",
160
- @to.res.join
161
- assert_equal 4, @to.characters
162
- end
163
-
164
- def accept_list_item_start_note_2
165
- expected = <<-EXPECTED
166
- <p><code>teletype</code> &mdash; teletype description
167
-
168
- EXPECTED
169
-
170
- assert_equal expected, @to.res.join
171
- assert_equal 29, @to.characters
172
- end
173
-
174
- def accept_list_item_start_note_multi_description
175
- expected = <<-EXPECTED
176
- <p>label &mdash; description one
177
- <p>description two
178
-
179
- EXPECTED
180
-
181
- assert_equal expected, @to.res.join
182
- assert_equal 37, @to.characters
183
- end
184
-
185
- def accept_list_item_start_note_multi_label
186
- expected = <<-EXPECTED
187
- <p>one, two &mdash; two headers
188
-
189
- EXPECTED
190
-
191
- assert_equal expected, @to.res.join
192
- assert_equal 18, @to.characters
193
- end
194
-
195
- def accept_list_item_start_number
196
- assert_equal "<p>", @to.res.join
197
- assert_equal 0, @to.characters
198
- end
199
-
200
- def accept_list_item_start_ualpha
201
- assert_equal "<p>", @to.res.join
202
- assert_equal 0, @to.characters
203
- end
204
-
205
- def accept_list_start_bullet
206
- assert_equal [:BULLET], @to.list
207
- assert_equal [''], @to.in_list_entry
208
-
209
- assert_equal '', @to.res.join
210
- assert_equal 0, @to.characters
211
- end
212
-
213
- def accept_list_start_label
214
- assert_equal [:LABEL], @to.list
215
- assert_equal [''], @to.in_list_entry
216
-
217
- assert_equal '', @to.res.join
218
- assert_equal 0, @to.characters
219
- end
220
-
221
- def accept_list_start_lalpha
222
- assert_equal [:LALPHA], @to.list
223
- assert_equal [''], @to.in_list_entry
224
-
225
- assert_equal '', @to.res.join
226
- assert_equal 0, @to.characters
227
- end
228
-
229
- def accept_list_start_note
230
- assert_equal [:NOTE], @to.list
231
- assert_equal [''], @to.in_list_entry
232
-
233
- assert_equal '', @to.res.join
234
- assert_equal 0, @to.characters
235
- end
236
-
237
- def accept_list_start_number
238
- assert_equal [:NUMBER], @to.list
239
- assert_equal [''], @to.in_list_entry
240
-
241
- assert_equal '', @to.res.join
242
- assert_equal 0, @to.characters
243
- end
244
-
245
- def accept_list_start_ualpha
246
- assert_equal [:UALPHA], @to.list
247
- assert_equal [''], @to.in_list_entry
248
-
249
- assert_equal '', @to.res.join
250
- assert_equal 0, @to.characters
251
- end
252
-
253
- def accept_paragraph
254
- assert_equal "<p>hi\n", @to.res.join
255
-
256
- assert_equal 2, @to.characters
257
- end
258
-
259
- def accept_paragraph_b
260
- assert_equal "<p>reg <strong>bold words</strong> reg\n", @to.res.join
261
-
262
- assert_equal 18, @to.characters
263
- end
264
-
265
- def accept_paragraph_br
266
- assert_equal "<p>one<br>two\n", @to.res.join
267
-
268
- assert_equal 6, @to.characters
269
- end
270
-
271
- def accept_paragraph_break
272
- assert_equal "<p>hello<br>\nworld\n", @to.res.join
273
-
274
- assert_equal 11, @to.characters
275
- end
276
-
277
- def accept_paragraph_i
278
- assert_equal "<p>reg <em>italic words</em> reg\n", @to.res.join
279
-
280
- assert_equal 20, @to.characters
281
- end
282
-
283
- def accept_paragraph_plus
284
- assert_equal "<p>reg <code>teletype</code> reg\n", @to.res.join
285
-
286
- assert_equal 16, @to.characters
287
- end
288
-
289
- def accept_paragraph_star
290
- assert_equal "<p>reg <strong>bold</strong> reg\n", @to.res.join
291
-
292
- assert_equal 12, @to.characters
293
- end
294
-
295
- def accept_paragraph_underscore
296
- assert_equal "<p>reg <em>italic</em> reg\n", @to.res.join
297
-
298
- assert_equal 14, @to.characters
299
- end
300
-
301
- def accept_raw
302
- assert_equal '', @to.res.join
303
- assert_equal 0, @to.characters
304
- end
305
-
306
- def accept_rule
307
- assert_empty @to.res
308
- assert_equal 0, @to.characters
309
- end
310
-
311
- def accept_verbatim
312
- assert_equal "\n<pre class=\"ruby\"><span class=\"ruby-identifier\">hi</span>\n <span class=\"ruby-identifier\">world</span>\n</pre>\n", @to.res.join
313
- assert_equal 10, @to.characters
314
- end
315
-
316
- def end_accepting
317
- assert_equal 'hi', @to.res.join
318
- end
319
-
320
- def start_accepting
321
- assert_equal [], @to.res
322
- assert_equal [], @to.in_list_entry
323
- assert_equal [], @to.list
324
- assert_equal 0, @to.characters
325
- end
326
-
327
- def list_nested
328
- expected = <<-EXPECTED
329
- <p>l1
330
- <p>l1.1
331
-
332
- <p>l2
333
-
334
- EXPECTED
335
-
336
- assert_equal expected, @to.res.join
337
- assert_equal 8, @to.characters
338
- end
339
-
340
- def list_verbatim
341
- expected = <<-EXPECTED
342
- <p>list stuff
343
-
344
- <pre>* list
345
- with
346
-
347
- second
348
-
349
- 1. indented
350
- 2. numbered
351
-
352
- third
353
-
354
- * second</pre>
355
-
356
- EXPECTED
357
-
358
- assert_equal expected, @to.end_accepting
359
- assert_equal 81, @to.characters
360
- end
361
-
362
- def test_accept_heading_7
363
- @to.start_accepting
364
-
365
- @to.accept_heading @RM::Heading.new(7, 'Hello')
366
-
367
- assert_equal "<p>Hello\n", @to.res.join
368
- assert_equal 5, @to.characters
369
- end
370
-
371
- def test_accept_heading_aref_class
372
- @to.code_object = RDoc::NormalClass.new 'Foo'
373
- @to.start_accepting
374
-
375
- @to.accept_heading @RM::Heading.new(1, 'Hello')
376
-
377
- assert_equal "<p>Hello\n",
378
- @to.res.join
379
- assert_equal 5, @to.characters
380
- end
381
-
382
- def test_accept_heading_aref_method
383
- @to.code_object = RDoc::AnyMethod.new nil, 'foo'
384
- @to.start_accepting
385
-
386
- @to.accept_heading @RM::Heading.new(1, 'Hello')
387
-
388
- assert_equal "<p>Hello\n",
389
- @to.res.join
390
- assert_equal 5, @to.characters
391
- end
392
-
393
- def test_accept_verbatim_ruby
394
- options = RDoc::Options.new
395
- rdoc = RDoc::RDoc.new
396
- rdoc.options = options
397
- RDoc::RDoc.current = rdoc
398
-
399
- verb = @RM::Verbatim.new("class C\n", "end\n")
400
-
401
- @to.start_accepting
402
- @to.accept_verbatim verb
403
-
404
- expected = <<-EXPECTED
405
-
406
- <pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-constant">C</span>
407
- <span class="ruby-keyword">end</span>
408
- </pre>
409
- EXPECTED
410
-
411
- assert_equal expected, @to.res.join
412
- assert_equal 11, @to.characters
413
- end
414
-
415
- def test_accept_verbatim_ruby_error
416
- options = RDoc::Options.new
417
- rdoc = RDoc::RDoc.new
418
- rdoc.options = options
419
- RDoc::RDoc.current = rdoc
420
-
421
- verb = @RM::Verbatim.new("a % 09 # => blah\n")
422
-
423
- @to.start_accepting
424
- @to.accept_verbatim verb
425
-
426
- inner = CGI.escapeHTML "a % 09 # => blah"
427
-
428
- expected = <<-EXPECTED
429
-
430
- <pre>#{inner}</pre>
431
- EXPECTED
432
-
433
- assert_equal expected, @to.res.join
434
- assert_equal 16, @to.characters
435
- end
436
-
437
- def test_add_paragraph
438
- @to = RDoc::Markup::ToHtmlSnippet.new @options, 0, 3
439
- assert_throws :done do
440
- @to.add_paragraph
441
- @to.add_paragraph
442
- @to.add_paragraph
443
- end
444
-
445
- assert_equal 3, @to.paragraphs
446
- end
447
-
448
- def test_convert_limit
449
- rdoc = <<-RDOC
450
- = Hello
451
-
452
- This is some text, it *will* be cut off after 100 characters and an ellipsis
453
- must follow
454
-
455
- So there you have it
456
- RDOC
457
-
458
- expected = <<-EXPECTED
459
- <p>Hello
460
- <p>This is some text, it <strong>will</strong> be cut off after 100 characters
461
- and an ellipsis must follow
462
- <p>So there you #{@ellipsis}
463
- EXPECTED
464
-
465
- actual = @to.convert rdoc
466
-
467
- assert_equal expected, actual
468
- assert_equal 111, @to.characters, 'snippet character length'
469
- end
470
-
471
- def test_convert_limit_2
472
- rdoc = <<-RDOC
473
- Outputs formatted RI data for the class or method +name+.
474
-
475
- Returns true if +name+ was found, false if it was not an alternative could
476
- be guessed, raises an error if +name+ couldn't be guessed.
477
- RDOC
478
-
479
- expected = <<-EXPECTED
480
- <p>Outputs formatted RI data for the class or method <code>name</code>.
481
- <p>Returns true if <code>name</code> was found, false if it was #{@ellipsis}
482
- EXPECTED
483
-
484
- actual = @to.convert rdoc
485
-
486
- assert_equal expected, actual
487
- assert_equal 159, @to.characters, 'snippet character length'
488
- end
489
-
490
- def test_convert_limit_paragraphs
491
- @to = RDoc::Markup::ToHtmlSnippet.new @options, 100, 3
492
-
493
- rdoc = <<-RDOC
494
- = \RDoc - Ruby Documentation System
495
-
496
- * {RDoc Project Page}[https://github.com/rdoc/rdoc/]
497
- * {RDoc Documentation}[http://docs.seattlerb.org/rdoc]
498
- * {RDoc Bug Tracker}[https://github.com/rdoc/rdoc/issues]
499
-
500
- == DESCRIPTION:
501
-
502
- RDoc produces HTML and command-line documentation for Ruby projects. RDoc
503
- includes the +rdoc+ and +ri+ tools for generating and displaying online
504
- documentation.
505
-
506
- See RDoc for a description of RDoc's markup and basic use.
507
- RDOC
508
-
509
- expected = <<-EXPECTED
510
- <p>RDoc - Ruby Documentation System
511
- <p>RDoc Project Page
512
- <p>RDoc Documentation
513
- EXPECTED
514
-
515
- actual = @to.convert rdoc
516
-
517
- assert_equal expected, actual
518
- assert_equal 67, @to.characters
519
- end
520
-
521
- def test_convert_limit_in_tag
522
- @to = RDoc::Markup::ToHtmlSnippet.new @options, 4
523
- rdoc = "* ab *c* d\n"
524
-
525
- expected = "<p>ab <strong>c</strong> #{@ellipsis}\n\n"
526
-
527
- actual = @to.convert rdoc
528
-
529
- assert_equal 4, @to.characters
530
- assert_equal expected, actual
531
- end
532
-
533
- def test_convert_limit_verbatim
534
- rdoc = <<-RDOC
535
- = Hello There
536
-
537
- This is some text, it *will* be cut off after 100 characters
538
-
539
- This one is cut off in this verbatim section
540
- RDOC
541
-
542
- expected = <<-EXPECTED
543
- <p>Hello There
544
- <p>This is some text, it <strong>will</strong> be cut off after 100 characters
545
-
546
- <pre>This one is cut off in this verbatim ...</pre>
547
- EXPECTED
548
-
549
- actual = @to.convert rdoc
550
-
551
- assert_equal expected, actual
552
- assert_equal 113, @to.characters
553
- end
554
-
555
- def test_convert_limit_verbatim_2
556
- rdoc = <<-RDOC
557
- Extracts the class, selector and method name parts from +name+ like
558
- Foo::Bar#baz.
559
-
560
- NOTE: Given Foo::Bar, Bar is considered a class even though it may be a
561
- method
562
- RDOC
563
-
564
- expected = <<-EXPECTED
565
- <p>Extracts the class, selector and method name parts from <code>name</code>
566
- like Foo::Bar#baz.
567
- <p>NOTE: Given Foo::Bar, #{@ellipsis}
568
- EXPECTED
569
-
570
- actual = @to.convert rdoc
571
-
572
- assert_equal expected, actual
573
- assert_equal 101, @to.characters
574
- end
575
-
576
- def test_convert_limit_verbatim_multiline
577
- rdoc = <<-RDOC
578
- Look for directives in a normal comment block:
579
-
580
- # :stopdoc:
581
- # Don't display comment from this point forward
582
-
583
- This routine modifies its +comment+ parameter.
584
- RDOC
585
-
586
- inner = CGI.escapeHTML "# Don't display comment from this point forward"
587
- expected = <<-EXPECTED
588
- <p>Look for directives in a normal comment block:
589
-
590
- <pre class=\"ruby\"><span class=\"ruby-comment\"># :stopdoc:</span>
591
- <span class=\"ruby-comment\">#{inner}</span>
592
- </pre>
593
- EXPECTED
594
-
595
- actual = @to.convert rdoc
596
-
597
- assert_equal expected, actual
598
- assert_equal 105, @to.characters
599
- end
600
-
601
- def test_convert_limit_over
602
- @to = RDoc::Markup::ToHtmlSnippet.new @options, 4
603
- rdoc = "* text\n" * 2
604
-
605
- expected = "<p>text\n"
606
- expected.chomp!
607
- expected << " #{@ellipsis}\n"
608
-
609
- actual = @to.convert rdoc
610
-
611
- assert_equal 4, @to.characters
612
- assert_equal expected, actual
613
- end
614
-
615
- def test_convert_string
616
- assert_equal '&lt;&gt;', @to.convert_string('<>')
617
- end
618
-
619
- def test_convert_RDOCLINK_label_label
620
- result = @to.convert 'rdoc-label:label-One'
621
-
622
- assert_equal "<p>One\n", result
623
- assert_equal 3, @to.characters
624
- end
625
-
626
- def test_convert_RDOCLINK_label_foottext
627
- result = @to.convert 'rdoc-label:foottext-1'
628
-
629
- assert_equal "<p>1\n", result
630
- assert_equal 1, @to.characters
631
- end
632
-
633
- def test_convert_RDOCLINK_label_footmark
634
- result = @to.convert 'rdoc-label:footmark-1'
635
-
636
- assert_equal "<p>1\n", result
637
- assert_equal 1, @to.characters
638
- end
639
-
640
- def test_convert_RDOCLINK_ref
641
- result = @to.convert 'rdoc-ref:C'
642
-
643
- assert_equal "<p>C\n", result
644
- assert_equal 1, @to.characters
645
- end
646
-
647
- def test_convert_TIDYLINK_rdoc_label
648
- result = @to.convert '{foo}[rdoc-label:foottext-1]'
649
-
650
- assert_equal "<p>foo\n", result
651
- assert_equal 3, @to.characters
652
- end
653
-
654
- def test_handle_special_HYPERLINK_link
655
- special = RDoc::Markup::Special.new 0, 'link:README.txt'
656
-
657
- link = @to.handle_special_HYPERLINK special
658
-
659
- assert_equal 'README.txt', link
660
- end
661
-
662
- def test_list_verbatim_2
663
- str = "* one\n verb1\n verb2\n* two\n"
664
-
665
- expected = <<-EXPECTED
666
- <p>one
667
-
668
- <pre class=\"ruby\"><span class=\"ruby-identifier\">verb1</span>
669
- <span class=\"ruby-identifier\">verb2</span>
670
- </pre>
671
- <p>two
672
-
673
- EXPECTED
674
-
675
- assert_equal expected, @m.convert(str, @to)
676
- assert_equal 17, @to.characters
677
- end
678
-
679
- def test_on_tags
680
- on = RDoc::Markup::AttrChanger.new 2, 0
681
-
682
- @to.on_tags [], on
683
-
684
- assert_equal 2, @to.mask
685
- end
686
-
687
- def test_off_tags
688
- on = RDoc::Markup::AttrChanger.new 2, 0
689
- off = RDoc::Markup::AttrChanger.new 0, 2
690
-
691
- @to.on_tags [], on
692
- @to.off_tags [], off
693
-
694
- assert_equal 0, @to.mask
695
- end
696
-
697
- def test_to_html
698
- assert_equal "<p><code>--</code>\n", util_format("<tt>--</tt>")
699
- assert_equal 2, @to.characters
700
- end
701
-
702
- def util_format text
703
- paragraph = RDoc::Markup::Paragraph.new text
704
-
705
- @to.start_accepting
706
- @to.accept_paragraph paragraph
707
- @to.end_accepting
708
- end
709
-
710
- end
711
-