rdoc 3.1 → 6.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +220 -0
  3. data/CVE-2013-0256.rdoc +49 -0
  4. data/ExampleMarkdown.md +37 -0
  5. data/ExampleRDoc.rdoc +208 -0
  6. data/Gemfile +12 -0
  7. data/History.rdoc +1666 -0
  8. data/LEGAL.rdoc +50 -0
  9. data/LICENSE.rdoc +57 -0
  10. data/README.rdoc +129 -0
  11. data/RI.rdoc +57 -0
  12. data/Rakefile +84 -81
  13. data/TODO.rdoc +59 -0
  14. data/bin/console +7 -0
  15. data/bin/setup +6 -0
  16. data/{bin → exe}/rdoc +11 -2
  17. data/exe/ri +12 -0
  18. data/lib/rdoc/alias.rb +1 -2
  19. data/lib/rdoc/anon_class.rb +3 -2
  20. data/lib/rdoc/any_method.rb +234 -40
  21. data/lib/rdoc/attr.rb +79 -11
  22. data/lib/rdoc/class_module.rb +443 -71
  23. data/lib/rdoc/code_object.rb +216 -20
  24. data/lib/rdoc/code_objects.rb +4 -21
  25. data/lib/rdoc/comment.rb +250 -0
  26. data/lib/rdoc/constant.rb +110 -9
  27. data/lib/rdoc/context/section.rb +232 -0
  28. data/lib/rdoc/context.rb +392 -172
  29. data/lib/rdoc/cross_reference.rb +202 -0
  30. data/lib/rdoc/encoding.rb +83 -28
  31. data/lib/rdoc/erb_partial.rb +19 -0
  32. data/lib/rdoc/erbio.rb +8 -3
  33. data/lib/rdoc/extend.rb +10 -0
  34. data/lib/rdoc/generator/darkfish.rb +507 -84
  35. data/lib/rdoc/generator/json_index.rb +300 -0
  36. data/lib/rdoc/generator/markup.rb +27 -74
  37. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  38. data/lib/rdoc/generator/pot/po.rb +84 -0
  39. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  40. data/lib/rdoc/generator/pot.rb +98 -0
  41. data/lib/rdoc/generator/ri.rb +8 -62
  42. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  43. data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  57. data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  58. data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  59. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
  60. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  61. data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  64. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  65. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  66. data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  67. data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  68. data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  69. data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  70. data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  71. data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
  72. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
  73. data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
  74. data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  75. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  76. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
  77. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  78. data/lib/rdoc/generator/template/json_index/.document +1 -0
  79. data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
  80. data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  81. data/lib/rdoc/generator.rb +24 -13
  82. data/lib/rdoc/ghost_method.rb +1 -2
  83. data/lib/rdoc/i18n/locale.rb +102 -0
  84. data/lib/rdoc/i18n/text.rb +126 -0
  85. data/lib/rdoc/i18n.rb +10 -0
  86. data/lib/rdoc/include.rb +5 -95
  87. data/lib/rdoc/known_classes.rb +5 -2
  88. data/lib/rdoc/markdown/entities.rb +2132 -0
  89. data/lib/rdoc/markdown/literals.kpeg +23 -0
  90. data/lib/rdoc/markdown/literals.rb +416 -0
  91. data/lib/rdoc/markdown.kpeg +1237 -0
  92. data/lib/rdoc/markdown.rb +16684 -0
  93. data/lib/rdoc/markup/attr_changer.rb +23 -0
  94. data/lib/rdoc/markup/attr_span.rb +36 -0
  95. data/lib/rdoc/markup/attribute_manager.rb +135 -62
  96. data/lib/rdoc/markup/attributes.rb +71 -0
  97. data/lib/rdoc/markup/blank_line.rb +1 -0
  98. data/lib/rdoc/markup/block_quote.rb +15 -0
  99. data/lib/rdoc/markup/document.rb +96 -9
  100. data/lib/rdoc/markup/formatter.rb +138 -25
  101. data/lib/rdoc/markup/hard_break.rb +32 -0
  102. data/lib/rdoc/markup/heading.rb +61 -2
  103. data/lib/rdoc/markup/include.rb +43 -0
  104. data/lib/rdoc/markup/indented_paragraph.rb +48 -0
  105. data/lib/rdoc/markup/list.rb +25 -4
  106. data/lib/rdoc/markup/list_item.rb +18 -4
  107. data/lib/rdoc/markup/paragraph.rb +15 -0
  108. data/lib/rdoc/markup/parser.rb +180 -88
  109. data/lib/rdoc/markup/pre_process.rb +183 -38
  110. data/lib/rdoc/markup/raw.rb +6 -5
  111. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  112. data/lib/rdoc/markup/rule.rb +1 -0
  113. data/lib/rdoc/markup/table.rb +47 -0
  114. data/lib/rdoc/markup/to_ansi.rb +17 -7
  115. data/lib/rdoc/markup/to_bs.rb +5 -8
  116. data/lib/rdoc/markup/to_html.rb +238 -137
  117. data/lib/rdoc/markup/to_html_crossref.rb +125 -152
  118. data/lib/rdoc/markup/to_html_snippet.rb +285 -0
  119. data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
  120. data/lib/rdoc/markup/to_label.rb +75 -0
  121. data/lib/rdoc/markup/to_markdown.rb +192 -0
  122. data/lib/rdoc/markup/to_rdoc.rb +85 -15
  123. data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
  124. data/lib/rdoc/markup/to_test.rb +2 -4
  125. data/lib/rdoc/markup/to_tt_only.rb +121 -0
  126. data/lib/rdoc/markup/verbatim.rb +39 -0
  127. data/lib/rdoc/markup.rb +388 -110
  128. data/lib/rdoc/meta_method.rb +1 -2
  129. data/lib/rdoc/method_attr.rb +87 -21
  130. data/lib/rdoc/mixin.rb +121 -0
  131. data/lib/rdoc/normal_class.rb +39 -10
  132. data/lib/rdoc/normal_module.rb +22 -7
  133. data/lib/rdoc/options.rb +613 -73
  134. data/lib/rdoc/parser/c.rb +621 -287
  135. data/lib/rdoc/parser/changelog.rb +335 -0
  136. data/lib/rdoc/parser/markdown.rb +24 -0
  137. data/lib/rdoc/parser/rd.rb +23 -0
  138. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  139. data/lib/rdoc/parser/ruby.rb +1368 -762
  140. data/lib/rdoc/parser/ruby_tools.rb +42 -35
  141. data/lib/rdoc/parser/simple.rb +23 -11
  142. data/lib/rdoc/parser/text.rb +12 -0
  143. data/lib/rdoc/parser.rb +162 -89
  144. data/lib/rdoc/rd/block_parser.rb +1056 -0
  145. data/lib/rdoc/rd/block_parser.ry +639 -0
  146. data/lib/rdoc/rd/inline.rb +72 -0
  147. data/lib/rdoc/rd/inline_parser.rb +1208 -0
  148. data/lib/rdoc/rd/inline_parser.ry +593 -0
  149. data/lib/rdoc/rd.rb +100 -0
  150. data/lib/rdoc/rdoc.rb +208 -115
  151. data/lib/rdoc/require.rb +1 -2
  152. data/lib/rdoc/ri/driver.rb +734 -239
  153. data/lib/rdoc/ri/formatter.rb +1 -0
  154. data/lib/rdoc/ri/paths.rb +91 -48
  155. data/lib/rdoc/ri/store.rb +3 -261
  156. data/lib/rdoc/ri/task.rb +71 -0
  157. data/lib/rdoc/ri.rb +5 -2
  158. data/lib/rdoc/rubygems_hook.rb +246 -0
  159. data/lib/rdoc/servlet.rb +451 -0
  160. data/lib/rdoc/single_class.rb +14 -2
  161. data/lib/rdoc/stats/normal.rb +19 -12
  162. data/lib/rdoc/stats/quiet.rb +1 -0
  163. data/lib/rdoc/stats/verbose.rb +1 -0
  164. data/lib/rdoc/stats.rb +262 -104
  165. data/lib/rdoc/store.rb +979 -0
  166. data/lib/rdoc/task.rb +84 -44
  167. data/lib/rdoc/text.rb +117 -72
  168. data/lib/rdoc/token_stream.rb +73 -4
  169. data/lib/rdoc/tom_doc.rb +263 -0
  170. data/lib/rdoc/top_level.rb +111 -261
  171. data/lib/rdoc/version.rb +8 -0
  172. data/lib/rdoc.rb +127 -64
  173. data/man/ri.1 +247 -0
  174. data/rdoc.gemspec +249 -0
  175. metadata +171 -291
  176. data/.autotest +0 -16
  177. data/.document +0 -5
  178. data/History.txt +0 -594
  179. data/LICENSE.txt +0 -57
  180. data/Manifest.txt +0 -158
  181. data/README.txt +0 -45
  182. data/RI.txt +0 -58
  183. data/bin/ri +0 -5
  184. data/lib/rdoc/gauntlet.rb +0 -52
  185. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
  186. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
  187. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
  188. data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
  189. data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
  190. data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
  191. data/lib/rdoc/markup/formatter_test_case.rb +0 -689
  192. data/lib/rdoc/markup/inline.rb +0 -137
  193. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
  194. data/lib/rdoc/ruby_lex.rb +0 -1291
  195. data/lib/rdoc/ruby_token.rb +0 -416
  196. data/test/README +0 -1
  197. data/test/binary.dat +0 -0
  198. data/test/hidden.zip.txt +0 -1
  199. data/test/test.ja.rdoc +0 -10
  200. data/test/test.ja.txt +0 -8
  201. data/test/test.txt +0 -1
  202. data/test/test_attribute_manager.rb +0 -120
  203. data/test/test_rdoc_alias.rb +0 -13
  204. data/test/test_rdoc_any_method.rb +0 -126
  205. data/test/test_rdoc_attr.rb +0 -61
  206. data/test/test_rdoc_class_module.rb +0 -233
  207. data/test/test_rdoc_code_object.rb +0 -165
  208. data/test/test_rdoc_constant.rb +0 -15
  209. data/test/test_rdoc_context.rb +0 -370
  210. data/test/test_rdoc_encoding.rb +0 -166
  211. data/test/test_rdoc_generator_darkfish.rb +0 -119
  212. data/test/test_rdoc_generator_ri.rb +0 -76
  213. data/test/test_rdoc_include.rb +0 -96
  214. data/test/test_rdoc_markup.rb +0 -37
  215. data/test/test_rdoc_markup_attribute_manager.rb +0 -240
  216. data/test/test_rdoc_markup_document.rb +0 -51
  217. data/test/test_rdoc_markup_paragraph.rb +0 -9
  218. data/test/test_rdoc_markup_parser.rb +0 -1395
  219. data/test/test_rdoc_markup_pre_process.rb +0 -185
  220. data/test/test_rdoc_markup_raw.rb +0 -27
  221. data/test/test_rdoc_markup_to_ansi.rb +0 -328
  222. data/test/test_rdoc_markup_to_bs.rb +0 -341
  223. data/test/test_rdoc_markup_to_html.rb +0 -335
  224. data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
  225. data/test/test_rdoc_markup_to_rdoc.rb +0 -327
  226. data/test/test_rdoc_method_attr.rb +0 -122
  227. data/test/test_rdoc_normal_class.rb +0 -17
  228. data/test/test_rdoc_normal_module.rb +0 -31
  229. data/test/test_rdoc_options.rb +0 -342
  230. data/test/test_rdoc_parser.rb +0 -83
  231. data/test/test_rdoc_parser_c.rb +0 -912
  232. data/test/test_rdoc_parser_ruby.rb +0 -1754
  233. data/test/test_rdoc_parser_simple.rb +0 -99
  234. data/test/test_rdoc_rdoc.rb +0 -164
  235. data/test/test_rdoc_require.rb +0 -25
  236. data/test/test_rdoc_ri_driver.rb +0 -846
  237. data/test/test_rdoc_ri_paths.rb +0 -43
  238. data/test/test_rdoc_ri_store.rb +0 -352
  239. data/test/test_rdoc_ruby_lex.rb +0 -23
  240. data/test/test_rdoc_stats.rb +0 -38
  241. data/test/test_rdoc_task.rb +0 -92
  242. data/test/test_rdoc_text.rb +0 -251
  243. data/test/test_rdoc_top_level.rb +0 -120
  244. data/test/xref_data.rb +0 -62
  245. data/test/xref_test_case.rb +0 -61
  246. data.tar.gz.sig +0 -3
  247. metadata.gz.sig +0 -0
@@ -1,370 +0,0 @@
1
- require 'rubygems'
2
- require 'minitest/autorun'
3
- require File.expand_path '../xref_test_case', __FILE__
4
-
5
- class TestRDocContext < XrefTestCase
6
-
7
- def setup
8
- super
9
-
10
- @context = RDoc::Context.new
11
- end
12
-
13
- def test_initialize
14
- assert_empty @context.in_files
15
- assert_equal 'unknown', @context.name
16
- assert_equal '', @context.comment
17
- assert_equal nil, @context.parent
18
- assert_equal :public, @context.visibility
19
- assert_equal 1, @context.sections.length
20
-
21
- assert_empty @context.classes_hash
22
- assert_empty @context.modules_hash
23
-
24
- assert_empty @context.method_list
25
- assert_empty @context.attributes
26
- assert_empty @context.aliases
27
- assert_empty @context.requires
28
- assert_empty @context.includes
29
- assert_empty @context.constants
30
- end
31
-
32
- def test_add_alias
33
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
34
-
35
- @context.add_alias as
36
-
37
- assert_equal [as], @context.external_aliases
38
- assert_equal [as], @context.unmatched_alias_lists['#old_name']
39
- end
40
-
41
- def test_add_alias_method_attr
42
- top_level = RDoc::TopLevel.new 'file.rb'
43
-
44
- attr = RDoc::Attr.new nil, 'old_name', 'R', ''
45
-
46
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
47
- as.record_location top_level
48
- as.parent = @context
49
-
50
- @context.add_attribute attr
51
- @context.add_alias as
52
-
53
- assert_empty @context.aliases
54
- assert_empty @context.unmatched_alias_lists
55
- assert_equal %w[old_name new_name], @context.attributes.map { |m| m.name }
56
-
57
- new = @context.attributes.last
58
- assert_equal top_level, new.file
59
- end
60
-
61
- def test_add_alias_method
62
- top_level = RDoc::TopLevel.new 'file.rb'
63
-
64
- meth = RDoc::AnyMethod.new nil, 'old_name'
65
- meth.singleton = false
66
-
67
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
68
- as.record_location top_level
69
- as.parent = @context
70
-
71
- @context.add_method meth
72
- @context.add_alias as
73
-
74
- assert_empty @context.aliases
75
- assert_empty @context.unmatched_alias_lists
76
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
77
-
78
- new = @context.method_list.last
79
- assert_equal top_level, new.file
80
- end
81
-
82
- def test_add_alias_method_singleton
83
- meth = RDoc::AnyMethod.new nil, 'old_name'
84
- meth.singleton = true
85
-
86
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
87
- as.singleton = true
88
-
89
- as.parent = @context
90
-
91
- @context.add_method meth
92
- @context.add_alias as
93
-
94
- assert_empty @context.aliases
95
- assert_empty @context.unmatched_alias_lists
96
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
97
-
98
- assert @context.method_list.last.singleton
99
- end
100
-
101
- def test_add_class
102
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
103
-
104
- assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass'
105
- assert_includes RDoc::TopLevel.classes.map { |k| k.full_name }, 'C1::Klass'
106
- end
107
-
108
- def test_add_class_superclass
109
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
110
- @c1.add_class RDoc::NormalClass, 'Klass', 'Other'
111
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
112
-
113
- klass = @c1.find_module_named 'Klass'
114
- assert_equal 'Other', klass.superclass
115
- end
116
-
117
- def test_add_class_upgrade
118
- @c1.add_module RDoc::NormalModule, 'Klass'
119
- @c1.add_class RDoc::NormalClass, 'Klass', nil
120
-
121
- assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass',
122
- 'c1 classes'
123
- refute_includes @c1.modules.map { |k| k.full_name }, 'C1::Klass',
124
- 'c1 modules'
125
-
126
- assert_includes RDoc::TopLevel.classes.map { |k| k.full_name }, 'C1::Klass',
127
- 'TopLevel classes'
128
- refute_includes RDoc::TopLevel.modules.map { |k| k.full_name }, 'C1::Klass',
129
- 'TopLevel modules'
130
- end
131
-
132
- def test_add_constant
133
- const = RDoc::Constant.new 'NAME', 'value', 'comment'
134
- @context.add_constant const
135
-
136
- assert_equal [const], @context.constants
137
- end
138
-
139
- def test_add_include
140
- incl = RDoc::Include.new 'Name', 'comment'
141
- @context.add_include incl
142
-
143
- assert_equal [incl], @context.includes
144
- end
145
-
146
- def test_add_method
147
- meth = RDoc::AnyMethod.new nil, 'old_name'
148
- meth.visibility = nil
149
-
150
- @context.add_method meth
151
-
152
- assert_equal [meth], @context.method_list
153
- assert_equal :public, meth.visibility
154
- end
155
-
156
- def test_add_method_alias
157
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
158
- meth = RDoc::AnyMethod.new nil, 'old_name'
159
-
160
- @context.add_alias as
161
- refute_empty @context.external_aliases
162
-
163
- @context.add_method meth
164
-
165
- assert_empty @context.external_aliases
166
- assert_empty @context.unmatched_alias_lists
167
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
168
- end
169
-
170
- def test_add_module
171
- @c1.add_module RDoc::NormalModule, 'Mod'
172
-
173
- assert_includes @c1.modules.map { |m| m.full_name }, 'C1::Mod'
174
- end
175
-
176
- def test_add_module_alias
177
- c3_c4 = @c2.add_module_alias @c2_c3, 'C4'
178
-
179
- assert_equal @c2.find_module_named('C4'), c3_c4
180
- end
181
-
182
- def test_add_module_class
183
- k = @c1.add_class RDoc::NormalClass, 'Klass', nil
184
- m = @c1.add_module RDoc::NormalModule, 'Klass'
185
-
186
- assert_equal k, m, 'returns class'
187
- assert_empty @c1.modules
188
- end
189
-
190
- def test_add_require
191
- req = RDoc::Require.new 'require', 'comment'
192
- @c1.add_require req
193
-
194
- assert_empty @c1.requires
195
- assert_includes @c1.top_level.requires, req
196
- end
197
-
198
- def test_add_to
199
- incl = RDoc::Include.new 'Name', 'comment'
200
- arr = []
201
- @context.add_to arr, incl
202
-
203
- assert_includes arr, incl
204
- assert_equal @context, incl.parent
205
- assert_equal @context.current_section, incl.section
206
- end
207
-
208
- def test_add_to_no_document_self
209
- incl = RDoc::Include.new 'Name', 'comment'
210
- arr = []
211
- @context.document_self = false
212
- @context.add_to arr, incl
213
-
214
- refute_includes arr, incl
215
- end
216
-
217
- def test_add_to_done_documenting
218
- incl = RDoc::Include.new 'Name', 'comment'
219
- arr = []
220
- @context.done_documenting = true
221
- @context.add_to arr, incl
222
-
223
- refute_includes arr, incl
224
- end
225
-
226
- def test_child_name
227
- assert_equal 'C1::C1', @c1.child_name('C1')
228
- end
229
-
230
- def test_classes
231
- assert_equal %w[C2::C3], @c2.classes.map { |k| k.full_name }
232
- assert_equal %w[C3::H1 C3::H2], @c3.classes.map { |k| k.full_name }
233
- end
234
-
235
- def test_defined_in_eh
236
- assert @c1.defined_in?(@c1.top_level)
237
-
238
- refute @c1.defined_in?(RDoc::TopLevel.new('name.rb'))
239
- end
240
-
241
- def test_equals2
242
- assert_equal @c3, @c3
243
- refute_equal @c2, @c3
244
- refute_equal @c2_c3, @c3
245
- end
246
-
247
- def test_find_attribute_named
248
- assert_equal nil, @c1.find_attribute_named('none')
249
- assert_equal 'R', @c1.find_attribute_named('attr').rw
250
- assert_equal 'R', @c1.find_attribute_named('attr_reader').rw
251
- assert_equal 'W', @c1.find_attribute_named('attr_writer').rw
252
- assert_equal 'RW', @c1.find_attribute_named('attr_accessor').rw
253
- end
254
-
255
- def test_find_class_method_named
256
- assert_equal nil, @c1.find_class_method_named('none')
257
-
258
- m = @c1.find_class_method_named('m')
259
- assert_instance_of RDoc::AnyMethod, m
260
- assert m.singleton
261
- end
262
-
263
- def test_find_constant_named
264
- assert_equal nil, @c1.find_constant_named('NONE')
265
- assert_equal ':const', @c1.find_constant_named('CONST').value
266
- end
267
-
268
- def test_find_enclosing_module_named
269
- assert_equal nil, @c2_c3.find_enclosing_module_named('NONE')
270
- assert_equal @c1, @c2_c3.find_enclosing_module_named('C1')
271
- assert_equal @c2, @c2_c3.find_enclosing_module_named('C2')
272
- end
273
-
274
- def test_find_file_named
275
- assert_equal nil, @c1.find_file_named('nonexistent.rb')
276
- assert_equal @xref_data, @c1.find_file_named(@file_name)
277
- end
278
-
279
- def test_find_instance_method_named
280
- assert_equal nil, @c1.find_instance_method_named('none')
281
-
282
- m = @c1.find_instance_method_named('m')
283
- assert_instance_of RDoc::AnyMethod, m
284
- refute m.singleton
285
- end
286
-
287
- def test_find_local_symbol
288
- assert_equal true, @c1.find_local_symbol('m').singleton
289
- assert_equal ':const', @c1.find_local_symbol('CONST').value
290
- assert_equal 'R', @c1.find_local_symbol('attr').rw
291
- assert_equal @xref_data, @c1.find_local_symbol(@file_name)
292
- assert_equal @c2_c3, @c2.find_local_symbol('C3')
293
- end
294
-
295
- def test_find_method_named
296
- assert_equal true, @c1.find_method_named('m').singleton
297
- end
298
-
299
- def test_find_module_named
300
- assert_equal @c2_c3, @c2.find_module_named('C3')
301
- assert_equal @c2, @c2.find_module_named('C2')
302
- assert_equal @c1, @c2.find_module_named('C1')
303
-
304
- assert_equal 'C2::C3', @c2.find_module_named('C3').full_name
305
- end
306
-
307
- def test_find_symbol
308
- c3 = @xref_data.find_module_named('C3')
309
- assert_equal c3, @xref_data.find_symbol('C3')
310
- assert_equal c3, @c2.find_symbol('::C3')
311
- assert_equal @c2_c3, @c2.find_symbol('C3')
312
- end
313
-
314
- def test_find_symbol_method
315
- assert_equal @c1__m, @c1.find_symbol('m')
316
- assert_equal @c1_m, @c1.find_symbol('#m')
317
- assert_equal @c1__m, @c1.find_symbol('::m')
318
- end
319
-
320
- def test_fully_documented_eh
321
- context = RDoc::Context.new
322
-
323
- refute context.fully_documented?
324
-
325
- context.comment = 'hi'
326
-
327
- assert context.fully_documented?
328
-
329
- m = @c1_m
330
-
331
- context.add_method m
332
-
333
- refute context.fully_documented?
334
-
335
- m.comment = 'hi'
336
-
337
- assert context.fully_documented?
338
-
339
- c = RDoc::Constant.new 'C', '0', nil
340
-
341
- context.add_constant c
342
-
343
- refute context.fully_documented?
344
-
345
- c.comment = 'hi'
346
-
347
- assert context.fully_documented?
348
-
349
- a = RDoc::Attr.new '', 'a', 'RW', nil
350
-
351
- context.add_attribute a
352
-
353
- refute context.fully_documented?
354
-
355
- a.comment = 'hi'
356
-
357
- assert context.fully_documented?
358
- end
359
-
360
- def test_spaceship
361
- assert_equal(-1, @c2.<=>(@c3))
362
- assert_equal 0, @c2.<=>(@c2)
363
- assert_equal 1, @c3.<=>(@c2)
364
-
365
- assert_equal 1, @c2_c3.<=>(@c2)
366
- assert_equal(-1, @c2_c3.<=>(@c3))
367
- end
368
-
369
- end
370
-
@@ -1,166 +0,0 @@
1
- require 'rubygems'
2
- require 'minitest/autorun'
3
- require 'rdoc'
4
- require 'rdoc/encoding'
5
-
6
- require 'tempfile'
7
-
8
- class TestRDocEncoding < MiniTest::Unit::TestCase
9
-
10
- def setup
11
- @tempfile = Tempfile.new 'test_rdoc_encoding'
12
- end
13
-
14
- def test_class_read_file
15
- @tempfile.write "hi everybody"
16
- @tempfile.flush
17
-
18
- assert_equal "hi everybody", RDoc::Encoding.read_file(@tempfile.path, nil)
19
- end
20
-
21
- def test_class_read_file_encoding
22
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
23
-
24
- expected = "# coding: utf-8\nhi everybody"
25
-
26
- @tempfile.write expected
27
- @tempfile.flush
28
-
29
- # FIXME 1.9 fix on windoze
30
- expected.gsub!("\n", "\r\n") if RUBY_VERSION =~ /^1.9/ && RUBY_PLATFORM =~ /mswin|mingw/
31
-
32
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
33
- assert_equal "hi everybody", contents
34
- assert_equal Encoding::UTF_8, contents.encoding
35
- end
36
-
37
- def test_class_read_file_encoding_convert
38
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
39
-
40
- content = ""
41
- content.encode! 'ISO-8859-1'
42
- content << "# coding: ISO-8859-1\nhi \xE9verybody"
43
-
44
- @tempfile.write content
45
- @tempfile.flush
46
-
47
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
48
- assert_equal Encoding::UTF_8, contents.encoding
49
- assert_equal "hi \u00e9verybody", contents.sub("\r", '')
50
- end
51
-
52
- def test_class_read_file_encoding_fancy
53
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
54
-
55
- expected = "# -*- coding: utf-8; fill-column: 74 -*-\nhi everybody"
56
- expected.encode! Encoding::UTF_8
57
-
58
- @tempfile.write expected
59
- @tempfile.flush
60
-
61
- # FIXME 1.9 fix on windoze
62
- expected.gsub!("\n", "\r\n") if RUBY_VERSION =~ /^1.9/ && RUBY_PLATFORM =~ /win32|mingw32/
63
-
64
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
65
- assert_equal "hi everybody", contents
66
- assert_equal Encoding::UTF_8, contents.encoding
67
- end
68
-
69
- def test_class_read_file_encoding_guess
70
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
71
-
72
- path = File.expand_path '../test.ja.txt', __FILE__
73
- content = RDoc::Encoding.read_file path, Encoding::UTF_8
74
-
75
- assert_equal Encoding::UTF_8, content.encoding
76
- end
77
-
78
- def test_class_read_file_encoding_with_signature
79
- skip "Encoding not implemented" unless defined? ::Encoding
80
-
81
- @tempfile.write "\xEF\xBB\xBFhi everybody"
82
- @tempfile.flush
83
-
84
- bug3360 = '[ruby-dev:41452]'
85
- content = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
86
- assert_equal Encoding::UTF_8, content.encoding, bug3360
87
- assert_equal "hi everybody", content, bug3360
88
- end
89
-
90
- def test_class_set_encoding
91
- s = "# coding: UTF-8\n"
92
- RDoc::Encoding.set_encoding s
93
-
94
- # sanity check for 1.8
95
-
96
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
97
-
98
- assert_equal Encoding::UTF_8, s.encoding
99
-
100
- s = "#!/bin/ruby\n# coding: UTF-8\n"
101
- RDoc::Encoding.set_encoding s
102
-
103
- assert_equal Encoding::UTF_8, s.encoding
104
-
105
- s = "<?xml version='1.0' encoding='UTF-8'?>\n"
106
- expected = s.encoding
107
- RDoc::Encoding.set_encoding s
108
-
109
- assert_equal Encoding::UTF_8, s.encoding
110
-
111
- s = "<?xml version='1.0' encoding=\"UTF-8\"?>\n"
112
- expected = s.encoding
113
- RDoc::Encoding.set_encoding s
114
-
115
- assert_equal Encoding::UTF_8, s.encoding
116
- end
117
-
118
- def test_class_set_encoding_strip
119
- s = "# coding: UTF-8\n# more comments"
120
-
121
- RDoc::Encoding.set_encoding s
122
-
123
- assert_equal "# more comments", s
124
-
125
- s = "#!/bin/ruby\n# coding: UTF-8\n# more comments"
126
-
127
- RDoc::Encoding.set_encoding s
128
-
129
- assert_equal "# more comments", s
130
- end
131
-
132
- def test_class_set_encoding_bad
133
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
134
-
135
- s = ""
136
- expected = s.encoding
137
- RDoc::Encoding.set_encoding s
138
-
139
- assert_equal expected, s.encoding
140
-
141
- s = "# vim:set fileencoding=utf-8:\n"
142
- expected = s.encoding
143
- RDoc::Encoding.set_encoding s
144
-
145
- assert_equal expected, s.encoding
146
-
147
- s = "# vim:set fileencoding=utf-8:\n"
148
- expected = s.encoding
149
- RDoc::Encoding.set_encoding s
150
-
151
- assert_equal expected, s.encoding
152
-
153
- assert_raises ArgumentError do
154
- RDoc::Encoding.set_encoding "# -*- encoding: undecided -*-\n"
155
- end
156
- end
157
-
158
- def test_sanity
159
- skip "Encoding not implemented" unless Object.const_defined? :Encoding
160
-
161
- assert_equal Encoding::US_ASCII, ''.encoding,
162
- 'If this file is not ASCII tests may incorrectly pass'
163
- end
164
-
165
- end
166
-
@@ -1,119 +0,0 @@
1
- require 'minitest/autorun'
2
- require 'rdoc/rdoc'
3
- require 'rdoc/generator/darkfish'
4
- require 'tmpdir'
5
- require 'fileutils'
6
-
7
- class TestRDocGeneratorDarkfish < MiniTest::Unit::TestCase
8
-
9
- def setup
10
- @pwd = Dir.pwd
11
- @lib_dir = "#{@pwd}/lib"
12
- $LOAD_PATH.unshift @lib_dir # ensure we load from this RDoc
13
- RDoc::TopLevel.reset
14
-
15
- @options = RDoc::Options.new
16
- @options.option_parser = OptionParser.new
17
-
18
- @tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_darkfish_#{$$}"
19
- FileUtils.mkdir_p @tmpdir
20
- Dir.chdir @tmpdir
21
- @options.op_dir = @tmpdir
22
- @options.generator = RDoc::Generator::Darkfish
23
-
24
- $LOAD_PATH.each do |path|
25
- darkfish_dir = File.join path, 'rdoc/generator/template/darkfish'
26
- next unless File.directory? darkfish_dir
27
- @options.template_dir = darkfish_dir
28
- break
29
- end
30
-
31
- rd = RDoc::RDoc.new
32
- rd.options = @options
33
- RDoc::RDoc.current = rd
34
-
35
- @g = @options.generator.new @options
36
-
37
- rd.generator = @g
38
-
39
- @top_level = RDoc::TopLevel.new 'file.rb'
40
- @klass = @top_level.add_class RDoc::NormalClass, 'Object'
41
- @meth = RDoc::AnyMethod.new nil, 'method'
42
- @meth_bang = RDoc::AnyMethod.new nil, 'method!'
43
- @attr = RDoc::Attr.new nil, 'attr', 'RW', ''
44
-
45
- @klass.add_method @meth
46
- @klass.add_method @meth_bang
47
- @klass.add_attribute @attr
48
- end
49
-
50
- def teardown
51
- $LOAD_PATH.shift
52
- Dir.chdir @pwd
53
- FileUtils.rm_rf @tmpdir
54
- end
55
-
56
- def assert_file path
57
- assert File.file?(path), "#{path} is not a file"
58
- end
59
-
60
- def refute_file path
61
- refute File.exist?(path), "#{path} exists"
62
- end
63
-
64
- def test_generate
65
- top_level = RDoc::TopLevel.new 'file.rb'
66
- top_level.add_class @klass.class, @klass.name
67
-
68
- @g.generate [top_level]
69
-
70
- assert_file 'index.html'
71
- assert_file 'Object.html'
72
- assert_file 'file_rb.html'
73
-
74
- encoding = if Object.const_defined? :Encoding then
75
- Regexp.escape Encoding.default_external.name
76
- else
77
- Regexp.escape 'UTF-8'
78
- end
79
-
80
- assert_match(/<meta content="text\/html; charset=#{encoding}"/,
81
- File.read('index.html'))
82
- assert_match(/<meta content="text\/html; charset=#{encoding}"/,
83
- File.read('Object.html'))
84
- assert_match(/<meta content="text\/html; charset=#{encoding}"/,
85
- File.read('file_rb.html'))
86
- end
87
-
88
- def test_generate_dry_run
89
- @options.dry_run = true
90
- top_level = RDoc::TopLevel.new 'file.rb'
91
- top_level.add_class @klass.class, @klass.name
92
-
93
- @g.generate [top_level]
94
-
95
- refute_file 'index.html'
96
- refute_file 'Object.html'
97
- refute_file 'file_rb.html'
98
- end
99
-
100
- def test_template_for
101
- classpage = Pathname.new @options.template_dir + '/classpage.rhtml'
102
-
103
- template = @g.send(:template_for, classpage)
104
- assert_kind_of RDoc::ERBIO, template
105
-
106
- assert_same template, @g.send(:template_for, classpage)
107
- end
108
-
109
- def test_template_for_dry_run
110
- classpage = Pathname.new @options.template_dir + '/classpage.rhtml'
111
-
112
- template = @g.send(:template_for, classpage)
113
- assert_kind_of ERB, template
114
-
115
- assert_same template, @g.send(:template_for, classpage)
116
- end
117
-
118
- end
119
-