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,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
-