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,130 +0,0 @@
1
- require 'rdoc/test_case'
2
-
3
- class TestRDocContextSection < RDoc::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @top_level = @store.add_file 'file.rb'
9
-
10
- @klass = @top_level.add_class RDoc::NormalClass, 'Object'
11
-
12
- @S = RDoc::Context::Section
13
- @s = @S.new @klass, 'section', comment('# comment', @top_level)
14
- end
15
-
16
- def test_add_comment
17
- file1 = @store.add_file 'file1.rb'
18
-
19
- klass = file1.add_class RDoc::NormalClass, 'Klass'
20
-
21
- c1 = RDoc::Comment.new "# :section: section\n", file1
22
- c2 = RDoc::Comment.new "# hello\n", file1
23
- c3 = RDoc::Comment.new "# world\n", file1
24
-
25
- s = @S.new klass, 'section', c1
26
-
27
- assert_empty s.comments
28
-
29
- s.add_comment nil
30
-
31
- assert_empty s.comments
32
-
33
- s.add_comment c2
34
-
35
- assert_equal [c2], s.comments
36
-
37
- s.add_comment c3
38
-
39
- assert_equal [c2, c3], s.comments
40
- end
41
-
42
- def test_aref
43
- assert_equal 'section', @s.aref
44
-
45
- assert_equal '5Buntitled-5D', @S.new(nil, nil, nil).aref
46
-
47
- assert_equal 'one+two', @S.new(nil, 'one two', nil).aref
48
- end
49
-
50
- def test_extract_comment
51
- assert_equal '', @s.extract_comment(comment('')).text
52
- assert_equal '', @s.extract_comment(comment("# :section: b\n")).text
53
- assert_equal '# c', @s.extract_comment(comment("# :section: b\n# c")).text
54
- assert_equal '# c',
55
- @s.extract_comment(comment("# a\n# :section: b\n# c")).text
56
- end
57
-
58
- def test_marshal_dump
59
- loaded = Marshal.load Marshal.dump @s
60
-
61
- expected = RDoc::Comment.new('comment', @top_level).parse
62
- expected = doc(expected)
63
-
64
- assert_equal 'section', loaded.title
65
- assert_equal expected, loaded.comments
66
- assert_nil loaded.parent, 'parent is set manually'
67
- end
68
-
69
- def test_marshal_dump_no_comment
70
- s = @S.new @klass, 'section', comment('')
71
-
72
- loaded = Marshal.load Marshal.dump s
73
-
74
- assert_equal 'section', loaded.title
75
- assert_empty loaded.comments
76
- assert_nil loaded.parent, 'parent is set manually'
77
- end
78
-
79
- def test_marshal_load_version_0
80
- loaded = Marshal.load "\x04\bU:\eRDoc::Context::Section" +
81
- "[\bi\x00I\"\fsection\x06:\x06EFo" +
82
- ":\eRDoc::Markup::Document\a:\v@parts" +
83
- "[\x06o;\a\a;\b[\x06o" +
84
- ":\x1CRDoc::Markup::Paragraph\x06;\b" +
85
- "[\x06I\"\fcomment\x06;\x06F:\n@fileI" +
86
- "\"\ffile.rb\x06;\x06F;\n0"
87
-
88
- expected = doc RDoc::Comment.new('comment', @top_level).parse
89
-
90
- assert_equal 'section', loaded.title
91
- assert_equal expected, loaded.comments
92
- assert_nil loaded.parent, 'parent is set manually'
93
- end
94
-
95
- def test_remove_comment_array
96
- other = @store.add_file 'other.rb'
97
-
98
- other_comment = comment('bogus', other)
99
-
100
- @s.add_comment other_comment
101
-
102
- @s.remove_comment comment('bogus', @top_level)
103
-
104
- assert_equal [other_comment], @s.comments
105
- end
106
-
107
- def test_remove_comment_document
108
- other = @store.add_file 'other.rb'
109
-
110
- other_comment = comment('bogus', other)
111
-
112
- @s.add_comment other_comment
113
-
114
- loaded = Marshal.load Marshal.dump @s
115
-
116
- loaded.remove_comment comment('bogus', @top_level)
117
-
118
- assert_equal doc(other_comment.parse), loaded.comments
119
- end
120
-
121
- def test_sequence
122
- _, err = verbose_capture_io do
123
- assert_match(/\ASEC\d{5}\Z/, @s.sequence)
124
- end
125
-
126
- assert_equal "#{@S}#sequence is deprecated, use #aref\n", err
127
- end
128
-
129
- end
130
-
@@ -1,192 +0,0 @@
1
- require File.expand_path '../xref_test_case', __FILE__
2
-
3
- class TestRDocCrossReference < XrefTestCase
4
-
5
- def setup
6
- super
7
-
8
- @xref = RDoc::CrossReference.new @c1
9
- end
10
-
11
- def assert_ref expected, name
12
- assert_equal expected, @xref.resolve(name, 'fail')
13
- end
14
-
15
- def refute_ref name
16
- assert_equal name, @xref.resolve(name, name)
17
- end
18
-
19
- def test_METHOD_REGEXP_STR
20
- re = /#{RDoc::CrossReference::METHOD_REGEXP_STR}/
21
-
22
- %w'=== [] []= << >>'.each do |x|
23
- re =~ x
24
- assert_equal x, $&
25
- end
26
- end
27
-
28
- def test_resolve_C2
29
- @xref = RDoc::CrossReference.new @c2
30
-
31
- refute_ref '#m'
32
-
33
- assert_ref @c1__m, 'C1::m'
34
- assert_ref @c2_c3, 'C2::C3'
35
- assert_ref @c2_c3_m, 'C2::C3#m'
36
- assert_ref @c2_c3_h1, 'C3::H1'
37
- assert_ref @c4, 'C4'
38
-
39
- assert_ref @c3_h2, 'C3::H2'
40
- refute_ref 'H1'
41
- end
42
-
43
- def test_resolve_C2_C3
44
- @xref = RDoc::CrossReference.new @c2_c3
45
-
46
- assert_ref @c2_c3_m, '#m'
47
-
48
- assert_ref @c2_c3, 'C3'
49
- assert_ref @c2_c3_m, 'C3#m'
50
-
51
- assert_ref @c2_c3_h1, 'H1'
52
- assert_ref @c2_c3_h1, 'C3::H1'
53
-
54
- assert_ref @c4, 'C4'
55
-
56
- assert_ref @c3_h2, 'C3::H2'
57
- end
58
-
59
- def test_resolve_C3
60
- @xref = RDoc::CrossReference.new @c3
61
-
62
- assert_ref @c3, 'C3'
63
-
64
- refute_ref '#m'
65
- refute_ref 'C3#m'
66
-
67
- assert_ref @c3_h1, 'H1'
68
-
69
- assert_ref @c3_h1, 'C3::H1'
70
- assert_ref @c3_h2, 'C3::H2'
71
-
72
- assert_ref @c4, 'C4'
73
- end
74
-
75
- def test_resolve_C4
76
- @xref = RDoc::CrossReference.new @c4
77
-
78
- # C4 ref inside a C4 containing a C4 should resolve to the contained class
79
- assert_ref @c4_c4, 'C4'
80
- end
81
-
82
- def test_resolve_C4_C4
83
- @xref = RDoc::CrossReference.new @c4_c4
84
-
85
- # A C4 reference inside a C4 class contained within a C4 class should
86
- # resolve to the inner C4 class.
87
- assert_ref @c4_c4, 'C4'
88
- end
89
-
90
- def test_resolve_class
91
- assert_ref @c1, 'C1'
92
- refute_ref 'H1'
93
-
94
- assert_ref @c2, 'C2'
95
- assert_ref @c2_c3, 'C2::C3'
96
- assert_ref @c2_c3_h1, 'C2::C3::H1'
97
-
98
- assert_ref @c3, '::C3'
99
- assert_ref @c3_h1, '::C3::H1'
100
-
101
- assert_ref @c4_c4, 'C4::C4'
102
- end
103
-
104
- def test_resolve_file
105
- refute_ref 'xref_data.rb'
106
- end
107
-
108
- def test_resolve_method
109
- assert_ref @c1__m, 'm'
110
- assert_ref @c1_m, '#m'
111
- assert_ref @c1__m, '::m'
112
-
113
- assert_ref @c1_m, 'C1#m'
114
- assert_ref @c1__m, 'C1.m'
115
- assert_ref @c1__m, 'C1::m'
116
-
117
- assert_ref @c1_m, 'C1#m'
118
- assert_ref @c1_m, 'C1#m()'
119
- assert_ref @c1_m, 'C1#m(*)'
120
-
121
- assert_ref @c1__m, 'C1.m'
122
- assert_ref @c1__m, 'C1.m()'
123
- assert_ref @c1__m, 'C1.m(*)'
124
-
125
- assert_ref @c1__m, 'C1::m'
126
- assert_ref @c1__m, 'C1::m()'
127
- assert_ref @c1__m, 'C1::m(*)'
128
-
129
- assert_ref @c2_c3_m, 'C2::C3#m'
130
-
131
- assert_ref @c2_c3_m, 'C2::C3.m'
132
-
133
- # TODO stop escaping - HTML5 allows anything but space
134
- assert_ref @c2_c3_h1_meh, 'C2::C3::H1#m?'
135
-
136
- assert_ref @c2_c3_m, '::C2::C3#m'
137
- assert_ref @c2_c3_m, '::C2::C3#m()'
138
- assert_ref @c2_c3_m, '::C2::C3#m(*)'
139
- end
140
-
141
- def test_resolve_method_equals3
142
- m = RDoc::AnyMethod.new '', '==='
143
- @c1.add_method m
144
-
145
- assert_ref m, '==='
146
- end
147
-
148
- def test_resolve_page
149
- page = @store.add_file 'README.txt'
150
- page.parser = RDoc::Parser::Simple
151
-
152
- assert_ref page, 'README'
153
- end
154
-
155
- def test_resolve_percent
156
- i_percent = RDoc::AnyMethod.new nil, '%'
157
- i_percent.singleton = false
158
- @c1.add_method i_percent
159
-
160
- c_percent = RDoc::AnyMethod.new nil, '%'
161
- c_percent.singleton = true
162
- @c1.add_method c_percent
163
-
164
- assert_ref i_percent, '%'
165
- assert_ref i_percent, '#%'
166
- assert_ref c_percent, '::%'
167
-
168
- assert_ref i_percent, 'C1#%'
169
- assert_ref c_percent, 'C1::%'
170
- end
171
-
172
- def test_resolve_no_ref
173
- assert_equal '', @xref.resolve('', '')
174
-
175
- assert_equal "bogus", @xref.resolve("bogus", "bogus")
176
- assert_equal "\\bogus", @xref.resolve("\\bogus", "\\bogus")
177
- assert_equal "\\\\bogus", @xref.resolve("\\\\bogus", "\\\\bogus")
178
-
179
- assert_equal "\\#n", @xref.resolve("\\#n", "fail")
180
- assert_equal "\\#n()", @xref.resolve("\\#n()", "fail")
181
- assert_equal "\\#n(*)", @xref.resolve("\\#n(*)", "fail")
182
-
183
- assert_equal "C1", @xref.resolve("\\C1", "fail")
184
- assert_equal "::C3", @xref.resolve("\\::C3", "fail")
185
-
186
- assert_equal "succeed", @xref.resolve("::C3::H1#n", "succeed")
187
- assert_equal "succeed", @xref.resolve("::C3::H1#n(*)", "succeed")
188
- assert_equal "\\::C3::H1#n", @xref.resolve("\\::C3::H1#n", "fail")
189
- end
190
-
191
- end
192
-
@@ -1,227 +0,0 @@
1
- # coding: US-ASCII
2
-
3
- require 'rdoc/test_case'
4
-
5
- class TestRDocEncoding < RDoc::TestCase
6
-
7
- def setup
8
- super
9
-
10
- @tempfile = Tempfile.new 'test_rdoc_encoding'
11
- end
12
-
13
- def teardown
14
- @tempfile.close!
15
-
16
- super
17
- end
18
-
19
- def test_class_read_file
20
- @tempfile.write "hi everybody"
21
- @tempfile.flush
22
-
23
- assert_equal "hi everybody", RDoc::Encoding.read_file(@tempfile.path, nil)
24
- end
25
-
26
- def test_class_read_file_encoding
27
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
28
-
29
- expected = "# coding: utf-8\nhi everybody"
30
-
31
- @tempfile.write expected
32
- @tempfile.flush
33
-
34
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
35
- assert_equal "hi everybody", contents
36
- assert_equal Encoding::UTF_8, contents.encoding
37
- end
38
-
39
- def test_class_read_file_encoding_convert
40
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
41
-
42
- content = ""
43
- content.encode! 'ISO-8859-1'
44
- content << "# coding: ISO-8859-1\nhi \xE9verybody"
45
-
46
- @tempfile.write content
47
- @tempfile.flush
48
-
49
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
50
- assert_equal Encoding::UTF_8, contents.encoding
51
- assert_equal "hi \u00e9verybody", contents.sub("\r", '')
52
- end
53
-
54
- def test_class_read_file_encoding_fail
55
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
56
-
57
- @tempfile.write "# coding: utf-8\n\317\200" # pi
58
- @tempfile.flush
59
-
60
- contents = :junk
61
-
62
- _, err = verbose_capture_io do
63
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::US_ASCII
64
- end
65
-
66
- assert_nil contents
67
-
68
- assert_match %r%^unable to convert%, err
69
- end
70
-
71
- def test_class_read_file_encoding_fancy
72
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
73
-
74
- expected = "# -*- coding: utf-8; fill-column: 74 -*-\nhi everybody"
75
- expected.encode! Encoding::UTF_8
76
-
77
- @tempfile.write expected
78
- @tempfile.flush
79
-
80
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
81
- assert_equal "hi everybody", contents
82
- assert_equal Encoding::UTF_8, contents.encoding
83
- end
84
-
85
- def test_class_read_file_encoding_force_transcode
86
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
87
-
88
- @tempfile.write "# coding: utf-8\n\317\200" # pi
89
- @tempfile.flush
90
-
91
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::US_ASCII, true
92
-
93
- assert_equal '?', contents
94
- assert_equal Encoding::US_ASCII, contents.encoding
95
- end
96
-
97
- def test_class_read_file_encoding_guess
98
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
99
-
100
- path = File.expand_path '../test.ja.txt', __FILE__
101
- content = RDoc::Encoding.read_file path, Encoding::UTF_8
102
-
103
- assert_equal Encoding::UTF_8, content.encoding
104
- end
105
-
106
- def test_class_read_file_encoding_invalid
107
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
108
-
109
- @tempfile.write "# coding: ascii\nM\xE4r"
110
- @tempfile.flush
111
-
112
- contents = :junk
113
- _, err = verbose_capture_io do
114
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
115
- end
116
-
117
- assert_equal "unable to convert \"\\xE4\" on US-ASCII for #{@tempfile.path}, skipping\n", err
118
-
119
- assert_nil contents
120
- end
121
-
122
- def test_class_read_file_encoding_with_signature
123
- skip "Encoding not implemented" unless defined? ::Encoding
124
-
125
- @tempfile.write "\xEF\xBB\xBFhi everybody"
126
- @tempfile.flush
127
-
128
- bug3360 = '[ruby-dev:41452]'
129
- content = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
130
- assert_equal Encoding::UTF_8, content.encoding, bug3360
131
- assert_equal "hi everybody", content, bug3360
132
- end
133
-
134
- def test_class_read_file_encoding_iso_2022_jp
135
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
136
-
137
- input = "# coding: ISO-2022-JP\n:\e$B%3%^%s%I\e(B:"
138
-
139
- @tempfile.write input
140
- @tempfile.flush
141
-
142
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
143
-
144
- expected = ":\xe3\x82\xb3\xe3\x83\x9e\xe3\x83\xb3\xe3\x83\x89:"
145
- expected.force_encoding Encoding::UTF_8
146
-
147
- assert_equal expected, contents
148
- assert_equal Encoding::UTF_8, contents.encoding
149
- end
150
-
151
- def test_class_set_encoding
152
- s = "# coding: UTF-8\n"
153
- RDoc::Encoding.set_encoding s
154
-
155
- # sanity check for 1.8
156
-
157
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
158
-
159
- assert_equal Encoding::UTF_8, s.encoding
160
-
161
- s = "#!/bin/ruby\n# coding: UTF-8\n"
162
- RDoc::Encoding.set_encoding s
163
-
164
- assert_equal Encoding::UTF_8, s.encoding
165
-
166
- s = "<?xml version='1.0' encoding='UTF-8'?>\n"
167
- expected = s.encoding
168
- RDoc::Encoding.set_encoding s
169
-
170
- assert_equal Encoding::UTF_8, s.encoding
171
-
172
- s = "<?xml version='1.0' encoding=\"UTF-8\"?>\n"
173
- expected = s.encoding
174
- RDoc::Encoding.set_encoding s
175
-
176
- assert_equal Encoding::UTF_8, s.encoding
177
- end
178
-
179
- def test_class_set_encoding_strip
180
- s = "# coding: UTF-8\n# more comments"
181
-
182
- RDoc::Encoding.set_encoding s
183
-
184
- assert_equal "# more comments", s
185
-
186
- s = "#!/bin/ruby\n# coding: UTF-8\n# more comments"
187
-
188
- RDoc::Encoding.set_encoding s
189
-
190
- assert_equal "#!/bin/ruby\n# more comments", s
191
- end
192
-
193
- def test_class_set_encoding_bad
194
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
195
-
196
- s = ""
197
- expected = s.encoding
198
- RDoc::Encoding.set_encoding s
199
-
200
- assert_equal expected, s.encoding
201
-
202
- s = "# vim:set fileencoding=utf-8:\n"
203
- expected = s.encoding
204
- RDoc::Encoding.set_encoding s
205
-
206
- assert_equal expected, s.encoding
207
-
208
- s = "# vim:set fileencoding=utf-8:\n"
209
- expected = s.encoding
210
- RDoc::Encoding.set_encoding s
211
-
212
- assert_equal expected, s.encoding
213
-
214
- assert_raises ArgumentError do
215
- RDoc::Encoding.set_encoding "# -*- encoding: undecided -*-\n"
216
- end
217
- end
218
-
219
- def test_sanity
220
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
221
-
222
- assert_equal Encoding::US_ASCII, ''.encoding,
223
- 'If this file is not ASCII tests may incorrectly pass'
224
- end
225
-
226
- end
227
-
@@ -1,94 +0,0 @@
1
- require File.expand_path '../xref_test_case', __FILE__
2
-
3
- class TestRDocExtend < XrefTestCase
4
-
5
- def setup
6
- super
7
-
8
- @ext = RDoc::Extend.new 'M1', 'comment'
9
- @ext.parent = @m1
10
- @ext.store = @store
11
- end
12
-
13
- def test_module
14
- assert_equal @m1, @ext.module
15
- assert_equal 'Unknown', RDoc::Extend.new('Unknown', 'comment').module
16
- end
17
-
18
- def test_module_extended
19
- m1 = @xref_data.add_module RDoc::NormalModule, 'Mod1'
20
- m1.add_module RDoc::NormalModule, 'Mod3'
21
- m1_m2 = m1.add_module RDoc::NormalModule, 'Mod2'
22
- m1_m2_m3 = m1_m2.add_module RDoc::NormalModule, 'Mod3'
23
- m1_m2_m3.add_module RDoc::NormalModule, 'Mod4'
24
- m1_m2.add_module RDoc::NormalModule, 'Mod4'
25
- m1_m2_k0 = m1_m2.add_class RDoc::NormalClass, 'Klass0'
26
- m1_m2_k0_m4 = m1_m2_k0.add_module RDoc::NormalModule, 'Mod4'
27
- m1_m2_k0_m4.add_module RDoc::NormalModule, 'Mod6'
28
- m1_m2_k0.add_module RDoc::NormalModule, 'Mod5'
29
-
30
- e0_m4 = RDoc::Extend.new 'Mod4', nil
31
- e0_m5 = RDoc::Extend.new 'Mod5', nil
32
- e0_m6 = RDoc::Extend.new 'Mod6', nil
33
- e0_m1 = RDoc::Extend.new 'Mod1', nil
34
- e0_m2 = RDoc::Extend.new 'Mod2', nil
35
- e0_m3 = RDoc::Extend.new 'Mod3', nil
36
-
37
- m1_m2_k0.add_extend e0_m4
38
- m1_m2_k0.add_extend e0_m5
39
- m1_m2_k0.add_extend e0_m6
40
- m1_m2_k0.add_extend e0_m1
41
- m1_m2_k0.add_extend e0_m2
42
- m1_m2_k0.add_extend e0_m3
43
-
44
- assert_equal [e0_m4, e0_m5, e0_m6, e0_m1, e0_m2, e0_m3], m1_m2_k0.extends
45
- assert_equal ['Object'], m1_m2_k0.ancestors
46
-
47
- m1_k1 = m1.add_class RDoc::NormalClass, 'Klass1'
48
-
49
- e1_m1 = RDoc::Extend.new 'Mod1', nil
50
- e1_m2 = RDoc::Extend.new 'Mod2', nil
51
- e1_m3 = RDoc::Extend.new 'Mod3', nil
52
- e1_m4 = RDoc::Extend.new 'Mod4', nil
53
- e1_k0_m4 = RDoc::Extend.new 'Klass0::Mod4', nil
54
-
55
- m1_k1.add_extend e1_m1
56
- m1_k1.add_extend e1_m2
57
- m1_k1.add_extend e1_m3
58
- m1_k1.add_extend e1_m4
59
- m1_k1.add_extend e1_k0_m4
60
-
61
- assert_equal [e1_m1, e1_m2, e1_m3, e1_m4, e1_k0_m4], m1_k1.extends
62
- assert_equal ['Object'], m1_k1.ancestors
63
-
64
- m1_k2 = m1.add_class RDoc::NormalClass, 'Klass2'
65
-
66
- e2_m1 = RDoc::Extend.new 'Mod1', nil
67
- e2_m2 = RDoc::Extend.new 'Mod2', nil
68
- e2_m3 = RDoc::Extend.new 'Mod3', nil
69
- e2_k0_m4 = RDoc::Extend.new 'Klass0::Mod4', nil
70
-
71
- m1_k2.add_extend e2_m1
72
- m1_k2.add_extend e2_m3
73
- m1_k2.add_extend e2_m2
74
- m1_k2.add_extend e2_k0_m4
75
-
76
- assert_equal [e2_m1, e2_m3, e2_m2, e2_k0_m4], m1_k2.extends
77
- assert_equal ['Object'], m1_k2.ancestors
78
-
79
- m1_k3 = m1.add_class RDoc::NormalClass, 'Klass3'
80
-
81
- e3_m1 = RDoc::Extend.new 'Mod1', nil
82
- e3_m2 = RDoc::Extend.new 'Mod2', nil
83
- e3_m4 = RDoc::Extend.new 'Mod4', nil
84
-
85
- m1_k3.add_extend e3_m1
86
- m1_k3.add_extend e3_m2
87
- m1_k3.add_extend e3_m4
88
-
89
- assert_equal [e3_m1, e3_m2, e3_m4], m1_k3.extends
90
- assert_equal ['Object'], m1_k3.ancestors
91
- end
92
-
93
- end
94
-