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,115 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocParserSimple < RDoc::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @tempfile = Tempfile.new self.class.name
9
- filename = @tempfile.path
10
-
11
- @top_level = @store.add_file filename
12
- @fn = filename
13
- @options = RDoc::Options.new
14
- @stats = RDoc::Stats.new @store, 0
15
- end
16
-
17
- def teardown
18
- super
19
-
20
- @tempfile.close!
21
- end
22
-
23
- def test_initialize_metadata
24
- parser = util_parser ":unhandled: \n"
25
-
26
- assert_includes @top_level.metadata, 'unhandled'
27
-
28
- assert_equal ":unhandled: \n", parser.content
29
- end
30
-
31
- def test_remove_coding_comment
32
- parser = util_parser <<-TEXT
33
- # -*- mode: rdoc; coding: utf-8; fill-column: 74; -*-
34
-
35
- Regular expressions (<i>regexp</i>s) are patterns which describe the
36
- contents of a string.
37
- TEXT
38
-
39
- parser.scan
40
-
41
- expected = <<-TEXT.strip
42
- Regular expressions (<i>regexp</i>s) are patterns which describe the
43
- contents of a string.
44
- TEXT
45
-
46
- assert_equal expected, @top_level.comment.text
47
- end
48
-
49
- # RDoc stops processing comments if it finds a comment line CONTAINING
50
- # '<tt>#--</tt>'. This can be used to separate external from internal
51
- # comments, or to stop a comment being associated with a method,
52
- # class, or module. Commenting CAN be turned back on with
53
- # a line that STARTS '<tt>#++</tt>'.
54
- #
55
- # I've seen guys that comment their code like this:
56
- # # This method....
57
- # #-----------------
58
- # def method
59
- #
60
- # => either we do it only in ruby code, or we require the leading #
61
- # (to avoid conflict with rules).
62
- #
63
- # TODO: require the leading #, to provide the feature in simple text files.
64
- # Note: in ruby & C code, we require '#--' & '#++' or '*--' & '*++',
65
- # to allow rules:
66
- #
67
- # # this is a comment
68
- # #---
69
- # # private text
70
- # #+++
71
- # # this is a rule:
72
- # # ---
73
-
74
- def test_remove_private_comments
75
- parser = util_parser "foo\n\n--\nbar\n++\n\nbaz\n"
76
-
77
- parser.scan
78
-
79
- expected = "foo\n\n\nbaz"
80
-
81
- assert_equal expected, @top_level.comment.text
82
- end
83
-
84
- def test_remove_private_comments_rule
85
- parser = util_parser "foo\n---\nbar"
86
-
87
- parser.scan
88
-
89
- expected = "foo\n---\nbar"
90
-
91
- assert_equal expected, @top_level.comment.text
92
- end
93
-
94
- def test_remove_private_comments_star
95
- parser = util_parser "* foo\n* bar\n"
96
-
97
- parser.scan
98
-
99
- assert_equal "* foo\n* bar", @top_level.comment.text
100
- end
101
-
102
- def test_scan
103
- parser = util_parser 'it *really* works'
104
-
105
- parser.scan
106
-
107
- assert_equal 'it *really* works', @top_level.comment.text
108
- end
109
-
110
- def util_parser(content)
111
- RDoc::Parser::Simple.new @top_level, @fn, content, @options, @stats
112
- end
113
-
114
- end
115
-
data/test/test_rdoc_rd.rb DELETED
@@ -1,30 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocRd < RDoc::TestCase
4
-
5
- def test_class_parse
6
- expected =
7
- @RM::Document.new(
8
- @RM::Paragraph.new('hello'))
9
-
10
- assert_equal expected, RDoc::RD.parse("hello")
11
- end
12
-
13
- def test_class_parse_begin_end
14
- expected =
15
- @RM::Document.new(
16
- @RM::Paragraph.new('hello'))
17
-
18
- assert_equal expected, RDoc::RD.parse("=begin\nhello\n=end\n")
19
- end
20
-
21
- def test_class_parse_newline
22
- expected =
23
- @RM::Document.new(
24
- @RM::Paragraph.new('hello'))
25
-
26
- assert_equal expected, RDoc::RD.parse("hello\n")
27
- end
28
-
29
- end
30
-
@@ -1,535 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocRdBlockParser < RDoc::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @block_parser = RDoc::RD::BlockParser.new
9
- end
10
-
11
- def test_add_footnote
12
- index = @block_parser.add_footnote 'context'
13
-
14
- assert_equal 1, index
15
-
16
- expected = [
17
- para('{^1}[rdoc-label:footmark-1:foottext-1]', ' ', 'context'),
18
- blank_line,
19
- ]
20
-
21
- assert_equal expected, @block_parser.footnotes
22
-
23
- index = @block_parser.add_footnote 'other'
24
-
25
- assert_equal 2, index
26
- end
27
-
28
- def test_parse_desclist
29
- list = <<-LIST
30
- :one
31
- desc one
32
- :two
33
- desc two
34
- LIST
35
-
36
- expected =
37
- doc(
38
- list(:NOTE,
39
- item("one", para("desc one")),
40
- item("two", para("desc two"))))
41
-
42
- assert_equal expected, parse(list)
43
- end
44
-
45
- def test_parse_enumlist
46
- list = <<-LIST
47
- (1) one
48
- (1) two
49
- LIST
50
-
51
- expected =
52
- doc(
53
- list(:NUMBER,
54
- item(nil, para("one")),
55
- item(nil, para("two"))))
56
-
57
- assert_equal expected, parse(list)
58
- end
59
-
60
- def test_parse_enumlist_paragraphs
61
- list = <<-LIST
62
- (1) one
63
-
64
- two
65
- LIST
66
-
67
- expected =
68
- doc(
69
- list(:NUMBER,
70
- item(nil,
71
- para("one"),
72
- para("two"))))
73
-
74
- assert_equal expected, parse(list)
75
- end
76
-
77
- def test_parse_enumlist_multiline
78
- list = <<-LIST
79
- (1) one
80
- two
81
- LIST
82
-
83
- contents = "one\n two" # 1.8 vs 1.9
84
-
85
- expected =
86
- doc(
87
- list(:NUMBER,
88
- item(nil, para(*contents))))
89
-
90
- assert_equal expected, parse(list)
91
- end
92
-
93
- def test_parse_enumlist_verbatim
94
- list = <<-LIST
95
- (1) item
96
- verbatim
97
- LIST
98
-
99
- expected =
100
- doc(
101
- list(:NUMBER,
102
- item(nil,
103
- para("item"),
104
- verb("verbatim\n"))))
105
-
106
- assert_equal expected, parse(list)
107
- end
108
-
109
- def test_parse_enumlist_verbatim_continue
110
- list = <<-LIST
111
- (1) one
112
- verbatim
113
- two
114
- LIST
115
-
116
- expected =
117
- doc(
118
- list(:NUMBER,
119
- item(nil,
120
- para("one"),
121
- verb("verbatim\n"),
122
- para("two"))))
123
-
124
- assert_equal expected, parse(list)
125
- end
126
-
127
- def test_parse_footnote
128
- expected =
129
- doc(
130
- para("{*1}[rdoc-label:foottext-1:footmark-1]"),
131
- rule(1),
132
- para("{^1}[rdoc-label:footmark-1:foottext-1]", " ", "text"),
133
- blank_line)
134
-
135
- assert_equal expected, parse("((-text-))")
136
- end
137
-
138
- def test_parse_include
139
- @block_parser.include_path = [Dir.tmpdir]
140
-
141
- expected = doc(@RM::Include.new("parse_include", [Dir.tmpdir]))
142
-
143
- assert_equal expected, parse("<<< parse_include")
144
- end
145
-
146
- def test_parse_include_subtree
147
- @block_parser.include_path = [Dir.tmpdir]
148
-
149
- expected =
150
- doc(
151
- blank_line,
152
- para("include <em>worked</em>"),
153
- blank_line,
154
- blank_line)
155
-
156
- tf = Tempfile.open %w[parse_include .rd] do |io|
157
- io.puts "=begin\ninclude ((*worked*))\n=end"
158
- io.flush
159
-
160
- str = <<-STR
161
- <<< #{File.basename io.path}
162
- STR
163
-
164
- assert_equal expected, parse(str)
165
- io
166
- end
167
- tf.close! if tf.respond_to? :close!
168
- end
169
-
170
- def test_parse_heading
171
- assert_equal doc(head(1, "H")), parse("= H")
172
- assert_equal doc(head(2, "H")), parse("== H")
173
- assert_equal doc(head(3, "H")), parse("=== H")
174
- assert_equal doc(head(4, "H")), parse("==== H")
175
- assert_equal doc(head(5, "H")), parse("+ H")
176
- assert_equal doc(head(6, "H")), parse("++ H")
177
- end
178
-
179
- def test_parse_itemlist
180
- list = <<-LIST
181
- * one
182
- * two
183
- LIST
184
-
185
- expected =
186
- doc(
187
- list(:BULLET,
188
- item(nil, para("one")),
189
- item(nil, para("two"))))
190
-
191
- assert_equal expected, parse(list)
192
- end
193
-
194
- def test_parse_itemlist_multiline
195
- list = <<-LIST
196
- * one
197
- two
198
- LIST
199
-
200
- contents = "one\n two" # 1.8 vs 1.9
201
-
202
- expected =
203
- doc(
204
- list(:BULLET,
205
- item(nil, para(*contents))))
206
-
207
- assert_equal expected, parse(list)
208
- end
209
-
210
- def test_parse_itemlist_nest
211
- list = <<-LIST
212
- * one
213
- * inner
214
- * two
215
- LIST
216
-
217
- expected =
218
- doc(
219
- list(:BULLET,
220
- item(nil,
221
- para("one"),
222
- list(:BULLET,
223
- item(nil, para("inner")))),
224
- item(nil,
225
- para("two"))))
226
-
227
- assert_equal expected, parse(list)
228
- end
229
-
230
- def test_parse_itemlist_paragraphs
231
- list = <<-LIST
232
- * one
233
-
234
- two
235
- LIST
236
-
237
- expected =
238
- doc(
239
- list(:BULLET,
240
- item(nil,
241
- para("one"),
242
- para("two"))))
243
-
244
- assert_equal expected, parse(list)
245
- end
246
-
247
- def test_parse_itemlist_verbatim
248
- list = <<-LIST
249
- * item
250
- verbatim
251
- LIST
252
-
253
- expected =
254
- doc(
255
- list(:BULLET,
256
- item(nil,
257
- para("item"),
258
- verb("verbatim\n"))))
259
-
260
- assert_equal expected, parse(list)
261
- end
262
-
263
- def test_parse_itemlist_verbatim_continue
264
- list = <<-LIST
265
- * one
266
- verbatim
267
- two
268
- LIST
269
-
270
- expected =
271
- doc(
272
- list(:BULLET,
273
- item(nil,
274
- para("one"),
275
- verb("verbatim\n"),
276
- para("two"))))
277
-
278
- assert_equal expected, parse(list)
279
- end
280
-
281
- def test_parse_lists
282
- list = <<-LIST
283
- (1) one
284
- (1) two
285
- * three
286
- * four
287
- (1) five
288
- (1) six
289
- LIST
290
-
291
- expected =
292
- doc(
293
- list(:NUMBER,
294
- item(nil, para("one")),
295
- item(nil, para("two"))),
296
- list(:BULLET,
297
- item(nil, para("three")),
298
- item(nil, para("four"))),
299
- list(:NUMBER,
300
- item(nil, para("five")),
301
- item(nil, para("six"))))
302
-
303
- assert_equal expected, parse(list)
304
- end
305
-
306
- def test_parse_lists_nest
307
- list = <<-LIST
308
- (1) one
309
- (1) two
310
- * three
311
- * four
312
- (1) five
313
- (1) six
314
- LIST
315
-
316
- expected =
317
- doc(
318
- list(:NUMBER,
319
- item(nil, para("one")),
320
- item(nil,
321
- para("two"),
322
- list(:BULLET,
323
- item(nil, para("three")),
324
- item(nil, para("four")))),
325
- item(nil, para("five")),
326
- item(nil, para("six"))))
327
-
328
- assert_equal expected, parse(list)
329
- end
330
-
331
- def test_parse_lists_nest_verbatim
332
- list = <<-LIST
333
- (1) one
334
- (1) two
335
- * three
336
- * four
337
- verbatim
338
- (1) five
339
- (1) six
340
- LIST
341
-
342
- expected =
343
- doc(
344
- list(:NUMBER,
345
- item(nil, para("one")),
346
- item(nil,
347
- para("two"),
348
- list(:BULLET,
349
- item(nil, para("three")),
350
- item(nil, para("four"))),
351
- verb("verbatim\n")),
352
- item(nil, para("five")),
353
- item(nil, para("six"))))
354
-
355
- assert_equal expected, parse(list)
356
- end
357
-
358
- def test_parse_lists_nest_verbatim2
359
- list = <<-LIST
360
- (1) one
361
- (1) two
362
- * three
363
- * four
364
- verbatim
365
- (1) five
366
- (1) six
367
- LIST
368
-
369
- expected =
370
- doc(
371
- list(:NUMBER,
372
- item(nil, para("one")),
373
- item(nil,
374
- para("two"),
375
- list(:BULLET,
376
- item(nil, para("three")),
377
- item(nil, para("four"))),
378
- verb("verbatim\n")),
379
- item(nil, para("five")),
380
- item(nil, para("six"))))
381
-
382
- assert_equal expected, parse(list)
383
- end
384
-
385
- def test_parse_methodlist
386
- list = <<-LIST
387
- --- Array#each {|i| ... }
388
- yield block for each item.
389
- --- Array#index(val)
390
- return index of first item which equals with val. if it hasn't
391
- same item, return nil.
392
- LIST
393
-
394
- expected =
395
- doc(
396
- list(:LABEL,
397
- item(
398
- "<tt>Array#each {|i| ... }</tt>",
399
- para("yield block for each item.")),
400
- item(
401
- "<tt>Array#index(val)</tt>",
402
- para("return index of first item which equals with val. if it hasn't same item, return nil."))))
403
-
404
- assert_equal expected, parse(list)
405
- end
406
-
407
- def test_parse_methodlist_empty
408
- list = <<-LIST
409
- --- A#b
410
-
411
- LIST
412
-
413
- expected =
414
- doc(
415
- list(:LABEL,
416
- item("<tt>A#b</tt>")))
417
-
418
- assert_equal expected, parse(list)
419
- end
420
-
421
- def test_parse_methodlist_paragraph
422
- list = <<-LIST
423
- --- A#b
424
-
425
- one
426
- LIST
427
-
428
- expected =
429
- doc(
430
- list(:LABEL,
431
- item(
432
- "<tt>A#b</tt>",
433
- para("one"))))
434
-
435
- assert_equal expected, parse(list)
436
- end
437
-
438
- def test_parse_methodlist_paragraph2
439
- list = <<-LIST.chomp
440
- --- A#b
441
-
442
- one
443
- two
444
- LIST
445
-
446
- expected =
447
- doc(
448
- list(:LABEL,
449
- item(
450
- "<tt>A#b</tt>",
451
- para("one"))),
452
- para("two"))
453
-
454
- assert_equal expected, parse(list)
455
- end
456
-
457
- def test_parse_methodlist_paragraph_verbatim
458
- list = <<-LIST.chomp
459
- --- A#b
460
-
461
- text
462
- verbatim
463
- LIST
464
-
465
- expected =
466
- doc(
467
- list(:LABEL,
468
- item(
469
- "<tt>A#b</tt>",
470
- para("text"),
471
- verb("verbatim\n"))))
472
-
473
- assert_equal expected, parse(list)
474
- end
475
-
476
- def test_parse_verbatim
477
- assert_equal doc(verb("verbatim\n")), parse(" verbatim")
478
- end
479
-
480
- def test_parse_verbatim_blankline
481
- expected = doc(verb("one\n", "\n", "two\n"))
482
-
483
- verbatim = <<-VERBATIM
484
- one
485
-
486
- two
487
- VERBATIM
488
-
489
- assert_equal expected, parse(verbatim)
490
- end
491
-
492
- def test_parse_verbatim_indent
493
- expected = doc(verb("one\n", " two\n"))
494
-
495
- verbatim = <<-VERBATIM
496
- one
497
- two
498
- VERBATIM
499
-
500
- assert_equal expected, parse(verbatim)
501
- end
502
-
503
- def test_parse_verbatim_multi
504
- expected = doc(verb("one\n", "two\n"))
505
-
506
- verbatim = <<-VERBATIM
507
- one
508
- two
509
- VERBATIM
510
-
511
- assert_equal expected, parse(verbatim)
512
- end
513
-
514
- def test_parse_textblock
515
- assert_equal doc(para("text")), parse("text")
516
- end
517
-
518
- def test_parse_textblock_multi
519
- expected = doc(para("one two"))
520
-
521
- assert_equal expected, parse("one\ntwo")
522
- end
523
-
524
- def parse text
525
- text = ["=begin", text, "=end"].join "\n"
526
-
527
- doc = @block_parser.parse text.lines.to_a
528
-
529
- assert_equal blank_line, doc.parts.shift, "=begin blankline"
530
- assert_equal blank_line, doc.parts.pop, "=end blankline"
531
-
532
- doc
533
- end
534
-
535
- end