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,460 +0,0 @@
1
- #--
2
- # irb/ruby-token.rb - ruby tokens
3
- # $Release Version: 0.9.5$
4
- # $Revision: 11708 $
5
- # $Date: 2007-02-12 15:01:19 -0800 (Mon, 12 Feb 2007) $
6
- # by Keiju ISHITSUKA(keiju@ruby-lang.org)
7
- #++
8
- # Definitions of all tokens involved in the lexical analysis.
9
- #
10
- # This class is not documented because it is so deep in the internals.
11
-
12
- module RDoc::RubyToken
13
- # :stopdoc:
14
-
15
- EXPR_BEG = :EXPR_BEG
16
- EXPR_MID = :EXPR_MID
17
- EXPR_END = :EXPR_END
18
- EXPR_ARG = :EXPR_ARG
19
- EXPR_FNAME = :EXPR_FNAME
20
- EXPR_DOT = :EXPR_DOT
21
- EXPR_CLASS = :EXPR_CLASS
22
-
23
- # for ruby 1.4X
24
- if !defined?(Symbol)
25
- Symbol = Integer
26
- end
27
-
28
- def set_token_position(line, char)
29
- @prev_line_no = line
30
- @prev_char_no = char
31
- end
32
-
33
- class Token
34
- def initialize(seek, line_no, char_no, text = nil)
35
- @seek = seek
36
- @line_no = line_no
37
- @char_no = char_no
38
- @text = text
39
- end
40
-
41
- attr_reader :seek
42
- attr_reader :line_no
43
- attr_reader :char_no
44
-
45
- attr_accessor :text
46
-
47
- def ==(other)
48
- self.class == other.class and
49
- other.line_no == @line_no and
50
- other.char_no == @char_no and
51
- other.text == @text
52
- end
53
-
54
- ##
55
- # Because we're used in contexts that expect to return a token, we set the
56
- # text string and then return ourselves
57
-
58
- def set_text(text)
59
- @text = text
60
- self
61
- end
62
-
63
- def inspect # :nodoc:
64
- klass = self.class.name.split('::').last
65
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @text]
66
- end
67
-
68
- end
69
-
70
- class TkNode < Token
71
- def initialize(seek, line_no, char_no, node = nil)
72
- super seek, line_no, char_no
73
- @node = node
74
- end
75
-
76
- attr_reader:node
77
-
78
- def ==(other)
79
- self.class == other.class and
80
- other.line_no == @line_no and
81
- other.char_no == @char_no and
82
- other.node == @node
83
- end
84
-
85
- def set_text text
86
- @node = text
87
- self
88
- end
89
-
90
- alias text node
91
-
92
- def inspect # :nodoc:
93
- klass = self.class.name.split('::').last
94
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @node]
95
- end
96
-
97
- end
98
-
99
- class TkId < Token
100
- def initialize(seek, line_no, char_no, name)
101
- super(seek, line_no, char_no)
102
- @name = name
103
- end
104
- attr_reader:name
105
-
106
- def ==(other)
107
- self.class == other.class and
108
- other.line_no == @line_no and
109
- other.char_no == @char_no and
110
- other.name == @name
111
- end
112
-
113
- def set_text text
114
- @name = text
115
- self
116
- end
117
-
118
- alias text name
119
-
120
- def inspect # :nodoc:
121
- klass = self.class.name.split('::').last
122
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @name]
123
- end
124
-
125
- end
126
-
127
- class TkKW < TkId
128
- end
129
-
130
- class TkVal < Token
131
- def initialize(seek, line_no, char_no, value = nil)
132
- super(seek, line_no, char_no)
133
- @value = value
134
- end
135
- attr_accessor :value
136
-
137
- def ==(other)
138
- self.class == other.class and
139
- other.line_no == @line_no and
140
- other.char_no == @char_no and
141
- other.value == @value
142
- end
143
-
144
- def set_text text
145
- @value = text
146
- self
147
- end
148
-
149
- alias text value
150
-
151
- def inspect # :nodoc:
152
- klass = self.class.name.split('::').last
153
- "{%s %s, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @value]
154
- end
155
-
156
- end
157
-
158
- class TkOp < Token
159
- def initialize(seek, line_no, char_no, name = nil)
160
- super seek, line_no, char_no
161
- @name = name
162
- end
163
-
164
- attr_accessor :name
165
-
166
- def ==(other)
167
- self.class == other.class and
168
- other.line_no == @line_no and
169
- other.char_no == @char_no and
170
- other.name == @name
171
- end
172
-
173
- def set_text text
174
- @name = text
175
- self
176
- end
177
-
178
- alias text name
179
-
180
- def inspect # :nodoc:
181
- klass = self.class.name.split('::').last
182
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @name]
183
- end
184
-
185
- end
186
-
187
- class TkOPASGN < TkOp
188
- def initialize(seek, line_no, char_no, op)
189
- super(seek, line_no, char_no)
190
- op = TkReading2Token[op][0] unless op.kind_of?(Symbol)
191
- @op = op
192
- @text = nil
193
- end
194
-
195
- attr_reader:op
196
-
197
- def ==(other)
198
- self.class == other.class and
199
- other.line_no == @line_no and
200
- other.char_no == @char_no and
201
- other.op == @op
202
- end
203
-
204
- def text
205
- @text ||= "#{TkToken2Reading[op]}="
206
- end
207
-
208
- def inspect # :nodoc:
209
- klass = self.class.name.split('::').last
210
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @op]
211
- end
212
-
213
- end
214
-
215
- class TkUnknownChar < Token
216
- def initialize(seek, line_no, char_no, name)
217
- super(seek, line_no, char_no)
218
- @name = name
219
- end
220
- attr_reader:name
221
-
222
- def ==(other)
223
- self.class == other.class and
224
- other.line_no == @line_no and
225
- other.char_no == @char_no and
226
- other.name == @name
227
- end
228
-
229
- def set_text text
230
- @name = text
231
- self
232
- end
233
-
234
- alias text name
235
-
236
- def inspect # :nodoc:
237
- klass = self.class.name.split('::').last
238
- "{%s %d, %d:%d %p}" % [klass, @seek, @line_no, @char_no, @name]
239
- end
240
-
241
- end
242
-
243
- class TkError < Token
244
- end
245
-
246
- def Token(token, value = nil)
247
- value ||= TkToken2Reading[token]
248
-
249
- case token
250
- when String
251
- if (tk = TkReading2Token[token]).nil?
252
- IRB.fail TkReading2TokenNoKey, token
253
- end
254
-
255
- tk = Token(tk[0], value)
256
-
257
- if tk.kind_of?(TkOp) then
258
- tk.name = token
259
- end
260
- when Symbol
261
- if (tk = TkSymbol2Token[token]).nil?
262
- IRB.fail TkSymbol2TokenNoKey, token
263
- end
264
-
265
- tk = Token(tk[0], value)
266
- else
267
- if token.instance_method(:initialize).arity == 3 then
268
- tk = token.new(@prev_seek, @prev_line_no, @prev_char_no)
269
- tk.set_text value
270
- else
271
- tk = token.new(@prev_seek, @prev_line_no, @prev_char_no, value)
272
- end
273
- end
274
-
275
- tk
276
- end
277
-
278
- TokenDefinitions = [
279
- [:TkCLASS, TkKW, "class", :EXPR_CLASS],
280
- [:TkMODULE, TkKW, "module", :EXPR_BEG],
281
- [:TkDEF, TkKW, "def", :EXPR_FNAME],
282
- [:TkUNDEF, TkKW, "undef", :EXPR_FNAME],
283
- [:TkBEGIN, TkKW, "begin", :EXPR_BEG],
284
- [:TkRESCUE, TkKW, "rescue", :EXPR_MID],
285
- [:TkENSURE, TkKW, "ensure", :EXPR_BEG],
286
- [:TkEND, TkKW, "end", :EXPR_END],
287
- [:TkIF, TkKW, "if", :EXPR_BEG, :TkIF_MOD],
288
- [:TkUNLESS, TkKW, "unless", :EXPR_BEG, :TkUNLESS_MOD],
289
- [:TkTHEN, TkKW, "then", :EXPR_BEG],
290
- [:TkELSIF, TkKW, "elsif", :EXPR_BEG],
291
- [:TkELSE, TkKW, "else", :EXPR_BEG],
292
- [:TkCASE, TkKW, "case", :EXPR_BEG],
293
- [:TkWHEN, TkKW, "when", :EXPR_BEG],
294
- [:TkWHILE, TkKW, "while", :EXPR_BEG, :TkWHILE_MOD],
295
- [:TkUNTIL, TkKW, "until", :EXPR_BEG, :TkUNTIL_MOD],
296
- [:TkFOR, TkKW, "for", :EXPR_BEG],
297
- [:TkBREAK, TkKW, "break", :EXPR_MID],
298
- [:TkNEXT, TkKW, "next", :EXPR_END],
299
- [:TkREDO, TkKW, "redo", :EXPR_END],
300
- [:TkRETRY, TkKW, "retry", :EXPR_END],
301
- [:TkIN, TkKW, "in", :EXPR_BEG],
302
- [:TkDO, TkKW, "do", :EXPR_BEG],
303
- [:TkRETURN, TkKW, "return", :EXPR_MID],
304
- [:TkYIELD, TkKW, "yield", :EXPR_END],
305
- [:TkSUPER, TkKW, "super", :EXPR_END],
306
- [:TkSELF, TkKW, "self", :EXPR_END],
307
- [:TkNIL, TkKW, "nil", :EXPR_END],
308
- [:TkTRUE, TkKW, "true", :EXPR_END],
309
- [:TkFALSE, TkKW, "false", :EXPR_END],
310
- [:TkAND, TkKW, "and", :EXPR_BEG],
311
- [:TkOR, TkKW, "or", :EXPR_BEG],
312
- [:TkNOT, TkKW, "not", :EXPR_BEG],
313
- [:TkIF_MOD, TkKW],
314
- [:TkUNLESS_MOD, TkKW],
315
- [:TkWHILE_MOD, TkKW],
316
- [:TkUNTIL_MOD, TkKW],
317
- [:TkALIAS, TkKW, "alias", :EXPR_FNAME],
318
- [:TkDEFINED, TkKW, "defined?", :EXPR_END],
319
- [:TklBEGIN, TkKW, "BEGIN", :EXPR_END],
320
- [:TklEND, TkKW, "END", :EXPR_END],
321
- [:Tk__LINE__, TkKW, "__LINE__", :EXPR_END],
322
- [:Tk__FILE__, TkKW, "__FILE__", :EXPR_END],
323
-
324
- [:TkIDENTIFIER, TkId],
325
- [:TkFID, TkId],
326
- [:TkGVAR, TkId],
327
- [:TkCVAR, TkId],
328
- [:TkIVAR, TkId],
329
- [:TkCONSTANT, TkId],
330
-
331
- [:TkINTEGER, TkVal],
332
- [:TkFLOAT, TkVal],
333
- [:TkSTRING, TkVal],
334
- [:TkHEREDOC, TkVal],
335
- [:TkXSTRING, TkVal],
336
- [:TkREGEXP, TkVal],
337
- [:TkSYMBOL, TkVal],
338
- [:TkCHAR, TkVal],
339
-
340
- [:TkDSTRING, TkNode],
341
- [:TkDXSTRING, TkNode],
342
- [:TkDREGEXP, TkNode],
343
- [:TkNTH_REF, TkNode],
344
- [:TkBACK_REF, TkNode],
345
-
346
- [:TkUPLUS, TkOp, "+@"],
347
- [:TkUMINUS, TkOp, "-@"],
348
- [:TkPOW, TkOp, "**"],
349
- [:TkCMP, TkOp, "<=>"],
350
- [:TkEQ, TkOp, "=="],
351
- [:TkEQQ, TkOp, "==="],
352
- [:TkNEQ, TkOp, "!="],
353
- [:TkGEQ, TkOp, ">="],
354
- [:TkLEQ, TkOp, "<="],
355
- [:TkANDOP, TkOp, "&&"],
356
- [:TkOROP, TkOp, "||"],
357
- [:TkMATCH, TkOp, "=~"],
358
- [:TkNMATCH, TkOp, "!~"],
359
- [:TkDOT2, TkOp, ".."],
360
- [:TkDOT3, TkOp, "..."],
361
- [:TkAREF, TkOp, "[]"],
362
- [:TkASET, TkOp, "[]="],
363
- [:TkLSHFT, TkOp, "<<"],
364
- [:TkRSHFT, TkOp, ">>"],
365
- [:TkCOLON2, TkOp, '::'],
366
- [:TkCOLON3, TkOp, '::'],
367
- #[:OPASGN, TkOp], # +=, -= etc. #
368
- [:TkASSOC, TkOp, "=>"],
369
- [:TkQUESTION, TkOp, "?"], #?
370
- [:TkCOLON, TkOp, ":"], #:
371
-
372
- [:TkfLPAREN, Token, "("], # func( #
373
- [:TkfLBRACK, Token, "["], # func[ #
374
- [:TkfLBRACE, Token, "{"], # func{ #
375
- [:TkSYMBEG, Token, ":"], # :SYMBOL
376
-
377
- [:TkAMPER, TkOp, "&"],
378
- [:TkGT, TkOp, ">"],
379
- [:TkLT, TkOp, "<"],
380
- [:TkPLUS, TkOp, "+"],
381
- [:TkSTAR, TkOp, "*"],
382
- [:TkMINUS, TkOp, "-"],
383
- [:TkMULT, TkOp, "*"],
384
- [:TkDIV, TkOp, "/"],
385
- [:TkMOD, TkOp, "%"],
386
- [:TkBITOR, TkOp, "|"],
387
- [:TkBITXOR, TkOp, "^"],
388
- [:TkBITAND, TkOp, "&"],
389
- [:TkBITNOT, TkOp, "~"],
390
- [:TkNOTOP, TkOp, "!"],
391
-
392
- [:TkBACKQUOTE, TkOp, "`"],
393
-
394
- [:TkASSIGN, Token, "="],
395
- [:TkDOT, Token, "."],
396
- [:TkLPAREN, Token, "("], #(exp)
397
- [:TkLBRACK, Token, "["], #[arry]
398
- [:TkLBRACE, Token, "{"], #{hash}
399
- [:TkRPAREN, Token, ")"],
400
- [:TkRBRACK, Token, "]"],
401
- [:TkRBRACE, Token, "}"],
402
- [:TkCOMMA, Token, ","],
403
- [:TkSEMICOLON, Token, ";"],
404
-
405
- [:TkCOMMENT, TkVal],
406
- [:TkSPACE, Token, " "],
407
- [:TkNL, Token, "\n"],
408
- [:TkEND_OF_SCRIPT],
409
-
410
- [:TkBACKSLASH, TkUnknownChar, "\\"],
411
- [:TkAT, TkUnknownChar, "@"],
412
- [:TkDOLLAR, TkUnknownChar, "$"],
413
- ]
414
-
415
- # {reading => token_class}
416
- # {reading => [token_class, *opt]}
417
- TkReading2Token = {}
418
- TkToken2Reading = {}
419
- TkSymbol2Token = {}
420
-
421
- def self.def_token(token_n, super_token = Token, reading = nil, *opts)
422
- token_n = token_n.id2name if token_n.kind_of?(Symbol)
423
- if const_defined?(token_n)
424
- IRB.fail AlreadyDefinedToken, token_n
425
- end
426
- token_c = eval("class #{token_n} < #{super_token}; end; #{token_n}")
427
-
428
- if reading
429
- TkToken2Reading[token_c] = reading
430
-
431
- return if TkReading2Token[reading]
432
-
433
- if opts.empty?
434
- TkReading2Token[reading] = [token_c]
435
- else
436
- TkReading2Token[reading] = [token_c].concat(opts)
437
- end
438
- end
439
- TkSymbol2Token[token_n.intern] = token_c
440
- end
441
-
442
- for defs in TokenDefinitions
443
- def_token(*defs)
444
- end
445
-
446
- def_token :TkRD_COMMENT, TkCOMMENT
447
-
448
- NEWLINE_TOKEN = TkNL.new 0, 0, 0, "\n"
449
-
450
- class TkSYMBOL
451
-
452
- def to_sym
453
- @sym ||= text[1..-1].intern
454
- end
455
-
456
- end
457
-
458
- # :startdoc:
459
- end
460
-
@@ -1,217 +0,0 @@
1
- require 'rubygems'
2
-
3
- begin
4
- gem 'minitest', '~> 4.0' unless defined?(Test::Unit)
5
- rescue NoMethodError, Gem::LoadError
6
- # for ruby tests
7
- end
8
-
9
- require 'minitest/autorun'
10
- require 'minitest/benchmark' if ENV['BENCHMARK']
11
-
12
- require 'fileutils'
13
- require 'pp'
14
- require 'tempfile'
15
- require 'tmpdir'
16
- require 'stringio'
17
-
18
- require 'rdoc'
19
-
20
- ##
21
- # RDoc::TestCase is an abstract TestCase to provide common setup and teardown
22
- # across all RDoc tests. The test case uses minitest, so all the assertions
23
- # of minitest may be used.
24
- #
25
- # The testcase provides the following:
26
- #
27
- # * A reset code-object tree
28
- # * A reset markup preprocessor (RDoc::Markup::PreProcess)
29
- # * The <code>@RM</code> alias of RDoc::Markup (for less typing)
30
- # * <code>@pwd</code> containing the current working directory
31
- # * FileUtils, pp, Tempfile, Dir.tmpdir and StringIO
32
-
33
- class RDoc::TestCase < MiniTest::Unit::TestCase
34
-
35
- ##
36
- # Abstract test-case setup
37
-
38
- def setup
39
- super
40
-
41
- @top_level = nil
42
-
43
- @have_encoding = Object.const_defined? :Encoding
44
-
45
- @RM = RDoc::Markup
46
-
47
- RDoc::Markup::PreProcess.reset
48
-
49
- @pwd = Dir.pwd
50
-
51
- @store = RDoc::Store.new
52
-
53
- @rdoc = RDoc::RDoc.new
54
- @rdoc.store = @store
55
- @rdoc.options = RDoc::Options.new
56
-
57
- g = Object.new
58
- def g.class_dir() end
59
- def g.file_dir() end
60
- @rdoc.generator = g
61
- end
62
-
63
- ##
64
- # Asserts +path+ is a file
65
-
66
- def assert_file path
67
- assert File.file?(path), "#{path} is not a file"
68
- end
69
-
70
- ##
71
- # Asserts +path+ is a directory
72
-
73
- def assert_directory path
74
- assert File.directory?(path), "#{path} is not a directory"
75
- end
76
-
77
- ##
78
- # Refutes +path+ exists
79
-
80
- def refute_file path
81
- refute File.exist?(path), "#{path} exists"
82
- end
83
-
84
- ##
85
- # Shortcut for RDoc::Markup::BlankLine.new
86
-
87
- def blank_line
88
- @RM::BlankLine.new
89
- end
90
-
91
- ##
92
- # Shortcut for RDoc::Markup::BlockQuote.new with +contents+
93
-
94
- def block *contents
95
- @RM::BlockQuote.new(*contents)
96
- end
97
-
98
- ##
99
- # Creates an RDoc::Comment with +text+ which was defined on +top_level+.
100
- # By default the comment has the 'rdoc' format.
101
-
102
- def comment text, top_level = @top_level
103
- RDoc::Comment.new text, top_level
104
- end
105
-
106
- ##
107
- # Shortcut for RDoc::Markup::Document.new with +contents+
108
-
109
- def doc *contents
110
- @RM::Document.new(*contents)
111
- end
112
-
113
- ##
114
- # Shortcut for RDoc::Markup::HardBreak.new
115
-
116
- def hard_break
117
- @RM::HardBreak.new
118
- end
119
-
120
- ##
121
- # Shortcut for RDoc::Markup::Heading.new with +level+ and +text+
122
-
123
- def head level, text
124
- @RM::Heading.new level, text
125
- end
126
-
127
- ##
128
- # Shortcut for RDoc::Markup::ListItem.new with +label+ and +parts+
129
-
130
- def item label = nil, *parts
131
- @RM::ListItem.new label, *parts
132
- end
133
-
134
- ##
135
- # Shortcut for RDoc::Markup::List.new with +type+ and +items+
136
-
137
- def list type = nil, *items
138
- @RM::List.new type, *items
139
- end
140
-
141
- ##
142
- # Enables pretty-print output
143
-
144
- def mu_pp obj # :nodoc:
145
- s = ''
146
- s = PP.pp obj, s
147
- s = s.force_encoding Encoding.default_external if defined? Encoding
148
- s.chomp
149
- end
150
-
151
- ##
152
- # Shortcut for RDoc::Markup::Paragraph.new with +contents+
153
-
154
- def para *a
155
- @RM::Paragraph.new(*a)
156
- end
157
-
158
- ##
159
- # Shortcut for RDoc::Markup::Rule.new with +weight+
160
-
161
- def rule weight
162
- @RM::Rule.new weight
163
- end
164
-
165
- ##
166
- # Shortcut for RDoc::Markup::Raw.new with +contents+
167
-
168
- def raw *contents
169
- @RM::Raw.new(*contents)
170
- end
171
-
172
- ##
173
- # Creates a temporary directory changes the current directory to it for the
174
- # duration of the block.
175
- #
176
- # Depends upon Dir.mktmpdir
177
-
178
- def temp_dir
179
- skip "No Dir::mktmpdir, upgrade your ruby" unless Dir.respond_to? :mktmpdir
180
-
181
- Dir.mktmpdir do |temp_dir|
182
- Dir.chdir temp_dir do
183
- yield temp_dir
184
- end
185
- end
186
- end
187
-
188
- ##
189
- # Shortcut for RDoc::Markup::Verbatim.new with +parts+
190
-
191
- def verb *parts
192
- @RM::Verbatim.new(*parts)
193
- end
194
-
195
- ##
196
- # run capture_io with setting $VERBOSE = true
197
-
198
- def verbose_capture_io
199
- capture_io do
200
- begin
201
- orig_verbose = $VERBOSE
202
- $VERBOSE = true
203
- yield
204
- ensure
205
- $VERBOSE = orig_verbose
206
- end
207
- end
208
- end
209
- end
210
-
211
- # This hack allows autoload to work when Dir.pwd is changed for Ruby 1.8 since
212
- # -I paths are not expanded.
213
- $LOAD_PATH.each do |load_path|
214
- break if load_path[0] == ?/
215
- load_path.replace File.expand_path load_path
216
- end if RUBY_VERSION < '1.9'
217
-
@@ -1,21 +0,0 @@
1
- AT&T has an ampersand in their name.
2
-
3
- AT&amp;T is another way to write it.
4
-
5
- This & that.
6
-
7
- 4 < 5.
8
-
9
- 6 > 5.
10
-
11
- Here's a [link] [1] with an ampersand in the URL.
12
-
13
- Here's a link with an amersand in the link text: [AT&T] [2].
14
-
15
- Here's an inline [link](/script?foo=1&bar=2).
16
-
17
- Here's an inline [link](</script?foo=1&bar=2>).
18
-
19
-
20
- [1]: http://example.com/?foo=1&bar=2
21
- [2]: http://att.com/ "AT&T"
@@ -1,13 +0,0 @@
1
- Link: <http://example.com/>.
2
-
3
- With an ampersand: <http://example.com/?foo=1&bar=2>
4
-
5
- * In a list?
6
- * <http://example.com/>
7
- * It should.
8
-
9
- > Blockquoted: <http://example.com/>
10
-
11
- Auto-links should not occur here: `<http://example.com/>`
12
-
13
- or here: <http://example.com/>