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.
- checksums.yaml +5 -5
- data/CONTRIBUTING.rdoc +8 -7
- data/Gemfile +12 -0
- data/History.rdoc +48 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +5 -5
- data/Rakefile +73 -155
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +0 -0
- data/{bin → exe}/ri +0 -0
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +59 -14
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +5 -2
- data/lib/rdoc/code_object.rb +3 -11
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +32 -11
- data/lib/rdoc/constant.rb +3 -2
- data/lib/rdoc/context/section.rb +7 -13
- data/lib/rdoc/context.rb +78 -23
- data/lib/rdoc/cross_reference.rb +33 -14
- data/lib/rdoc/encoding.rb +92 -55
- data/lib/rdoc/erb_partial.rb +2 -1
- data/lib/rdoc/erbio.rb +8 -3
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +62 -32
- data/lib/rdoc/generator/json_index.rb +8 -5
- data/lib/rdoc/generator/markup.rb +3 -12
- data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
- data/lib/rdoc/generator/pot/po.rb +84 -0
- data/lib/rdoc/generator/pot/po_entry.rb +141 -0
- data/lib/rdoc/generator/pot.rb +4 -3
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
- data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
- data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
- data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
- data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
- data/lib/rdoc/generator.rb +1 -1
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +2 -1
- data/lib/rdoc/i18n/text.rb +5 -4
- data/lib/rdoc/i18n.rb +3 -2
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markdown.kpeg +94 -51
- data/lib/rdoc/markdown.rb +1171 -619
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +9 -2
- data/lib/rdoc/markup/attribute_manager.rb +115 -49
- data/lib/rdoc/markup/attributes.rb +7 -6
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +1 -0
- data/lib/rdoc/markup/document.rb +1 -0
- data/lib/rdoc/markup/formatter.rb +25 -23
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +4 -3
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/list.rb +1 -0
- data/lib/rdoc/markup/list_item.rb +1 -0
- data/lib/rdoc/markup/paragraph.rb +1 -0
- data/lib/rdoc/markup/parser.rb +78 -61
- data/lib/rdoc/markup/pre_process.rb +12 -9
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +4 -5
- data/lib/rdoc/markup/to_html.rb +71 -25
- data/lib/rdoc/markup/to_html_crossref.rb +41 -25
- data/lib/rdoc/markup/to_html_snippet.rb +10 -9
- data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
- data/lib/rdoc/markup/to_label.rb +10 -9
- data/lib/rdoc/markup/to_markdown.rb +9 -8
- data/lib/rdoc/markup/to_rdoc.rb +35 -6
- data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +3 -2
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/markup.rb +14 -16
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +2 -1
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +3 -2
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +92 -58
- data/lib/rdoc/parser/c.rb +219 -223
- data/lib/rdoc/parser/changelog.rb +155 -18
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +635 -468
- data/lib/rdoc/parser/ruby_tools.rb +33 -33
- data/lib/rdoc/parser/simple.rb +3 -3
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/parser.rb +17 -50
- data/lib/rdoc/rd/block_parser.rb +66 -65
- data/lib/rdoc/rd/block_parser.ry +3 -3
- data/lib/rdoc/rd/inline.rb +5 -4
- data/lib/rdoc/rd/inline_parser.rb +52 -51
- data/lib/rdoc/rd/inline_parser.ry +1 -1
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rdoc.rb +68 -63
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri/driver.rb +133 -58
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +4 -20
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +5 -12
- data/lib/rdoc/servlet.rb +24 -14
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats/normal.rb +20 -21
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/store.rb +41 -41
- data/lib/rdoc/task.rb +2 -3
- data/lib/rdoc/text.rb +19 -38
- data/lib/rdoc/token_stream.rb +56 -32
- data/lib/rdoc/tom_doc.rb +17 -11
- data/lib/rdoc/top_level.rb +9 -2
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +24 -10
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +248 -0
- metadata +43 -236
- data/.autotest +0 -24
- data/.document +0 -5
- data/Manifest.txt +0 -306
- data/lib/gauntlet_rdoc.rb +0 -84
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- data/lib/rdoc/markup/formatter_test_case.rb +0 -767
- data/lib/rdoc/markup/inline.rb +0 -1
- data/lib/rdoc/markup/special.rb +0 -40
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
- data/lib/rdoc/ruby_lex.rb +0 -1377
- data/lib/rdoc/ruby_token.rb +0 -460
- data/lib/rdoc/test_case.rb +0 -217
- data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
- data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
- data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
- data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
- data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
- data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
- data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
- data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
- data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
- data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
- data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
- data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
- data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
- data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
- data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
- data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
- data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
- data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
- data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
- data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.largedoc +0 -3
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -460
- data/test/test_rdoc_attr.rb +0 -190
- data/test/test_rdoc_class_module.rb +0 -1492
- data/test/test_rdoc_code_object.rb +0 -450
- data/test/test_rdoc_comment.rb +0 -504
- data/test/test_rdoc_constant.rb +0 -181
- data/test/test_rdoc_context.rb +0 -901
- data/test/test_rdoc_context_section.rb +0 -130
- data/test/test_rdoc_cross_reference.rb +0 -192
- data/test/test_rdoc_encoding.rb +0 -227
- data/test/test_rdoc_extend.rb +0 -94
- data/test/test_rdoc_generator_darkfish.rb +0 -229
- data/test/test_rdoc_generator_json_index.rb +0 -324
- data/test/test_rdoc_generator_markup.rb +0 -59
- data/test/test_rdoc_generator_pot.rb +0 -91
- data/test/test_rdoc_generator_pot_po.rb +0 -51
- data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
- data/test/test_rdoc_generator_ri.rb +0 -78
- data/test/test_rdoc_i18n_locale.rb +0 -73
- data/test/test_rdoc_i18n_text.rb +0 -123
- data/test/test_rdoc_include.rb +0 -108
- data/test/test_rdoc_markdown.rb +0 -980
- data/test/test_rdoc_markdown_test.rb +0 -1884
- data/test/test_rdoc_markup.rb +0 -95
- data/test/test_rdoc_markup_attribute_manager.rb +0 -364
- data/test/test_rdoc_markup_attributes.rb +0 -39
- data/test/test_rdoc_markup_document.rb +0 -207
- data/test/test_rdoc_markup_formatter.rb +0 -175
- data/test/test_rdoc_markup_hard_break.rb +0 -31
- data/test/test_rdoc_markup_heading.rb +0 -29
- data/test/test_rdoc_markup_include.rb +0 -19
- data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
- data/test/test_rdoc_markup_paragraph.rb +0 -32
- data/test/test_rdoc_markup_parser.rb +0 -1680
- data/test/test_rdoc_markup_pre_process.rb +0 -473
- data/test/test_rdoc_markup_raw.rb +0 -22
- data/test/test_rdoc_markup_to_ansi.rb +0 -369
- data/test/test_rdoc_markup_to_bs.rb +0 -366
- data/test/test_rdoc_markup_to_html.rb +0 -662
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
- data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
- data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
- data/test/test_rdoc_markup_to_label.rb +0 -112
- data/test/test_rdoc_markup_to_markdown.rb +0 -389
- data/test/test_rdoc_markup_to_rdoc.rb +0 -377
- data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
- data/test/test_rdoc_markup_to_tt_only.rb +0 -246
- data/test/test_rdoc_markup_verbatim.rb +0 -29
- data/test/test_rdoc_method_attr.rb +0 -193
- data/test/test_rdoc_normal_class.rb +0 -47
- data/test/test_rdoc_normal_module.rb +0 -42
- data/test/test_rdoc_options.rb +0 -766
- data/test/test_rdoc_parser.rb +0 -327
- data/test/test_rdoc_parser_c.rb +0 -1896
- data/test/test_rdoc_parser_changelog.rb +0 -315
- data/test/test_rdoc_parser_markdown.rb +0 -61
- data/test/test_rdoc_parser_rd.rb +0 -55
- data/test/test_rdoc_parser_ruby.rb +0 -3322
- data/test/test_rdoc_parser_simple.rb +0 -115
- data/test/test_rdoc_rd.rb +0 -30
- data/test/test_rdoc_rd_block_parser.rb +0 -535
- data/test/test_rdoc_rd_inline.rb +0 -63
- data/test/test_rdoc_rd_inline_parser.rb +0 -177
- data/test/test_rdoc_rdoc.rb +0 -455
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -1436
- data/test/test_rdoc_ri_paths.rb +0 -155
- data/test/test_rdoc_ruby_lex.rb +0 -421
- data/test/test_rdoc_ruby_token.rb +0 -19
- data/test/test_rdoc_rubygems_hook.rb +0 -251
- data/test/test_rdoc_servlet.rb +0 -534
- data/test/test_rdoc_single_class.rb +0 -20
- data/test/test_rdoc_stats.rb +0 -722
- data/test/test_rdoc_store.rb +0 -993
- data/test/test_rdoc_task.rb +0 -173
- data/test/test_rdoc_text.rb +0 -557
- data/test/test_rdoc_token_stream.rb +0 -42
- data/test/test_rdoc_tom_doc.rb +0 -520
- data/test/test_rdoc_top_level.rb +0 -287
- data/test/xref_data.rb +0 -76
- data/test/xref_test_case.rb +0 -67
data/lib/rdoc/ruby_token.rb
DELETED
@@ -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
|
-
|
data/lib/rdoc/test_case.rb
DELETED
@@ -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&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/>
|