rdoc 4.3.0 → 5.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +13 -0
- data/.travis.yml +23 -0
- data/CONTRIBUTING.rdoc +4 -3
- data/Gemfile +3 -0
- data/History.rdoc +15 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +1 -0
- data/Rakefile +41 -79
- 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.rb +2 -1
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +1 -0
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +1 -0
- data/lib/rdoc/code_object.rb +1 -0
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +1 -0
- data/lib/rdoc/constant.rb +1 -0
- data/lib/rdoc/context.rb +4 -1
- data/lib/rdoc/context/section.rb +7 -0
- data/lib/rdoc/cross_reference.rb +1 -0
- data/lib/rdoc/encoding.rb +14 -0
- data/lib/rdoc/erb_partial.rb +1 -0
- data/lib/rdoc/erbio.rb +1 -0
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +1 -0
- data/lib/rdoc/generator/json_index.rb +1 -0
- data/lib/rdoc/generator/markup.rb +1 -0
- data/lib/rdoc/generator/pot.rb +1 -0
- data/lib/rdoc/generator/pot/message_extractor.rb +1 -0
- data/lib/rdoc/generator/pot/po.rb +1 -0
- data/lib/rdoc/generator/pot/po_entry.rb +1 -0
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +2 -1
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +7 -7
- data/lib/rdoc/generator/template/json_index/js/searcher.js +1 -0
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +1 -0
- data/lib/rdoc/i18n/text.rb +1 -0
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown.kpeg +2 -6
- data/lib/rdoc/markdown.rb +2 -6
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +0 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markup.rb +1 -0
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +1 -0
- data/lib/rdoc/markup/attribute_manager.rb +1 -0
- data/lib/rdoc/markup/attributes.rb +1 -0
- 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 +1 -0
- data/lib/rdoc/markup/formatter_test_case.rb +1 -4
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +1 -0
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/inline.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 +1 -0
- data/lib/rdoc/markup/pre_process.rb +1 -0
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/special.rb +1 -0
- data/lib/rdoc/markup/text_formatter_test_case.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +1 -0
- data/lib/rdoc/markup/to_html.rb +1 -0
- data/lib/rdoc/markup/to_html_crossref.rb +1 -0
- data/lib/rdoc/markup/to_html_snippet.rb +1 -0
- data/lib/rdoc/markup/to_joined_paragraph.rb +1 -0
- data/lib/rdoc/markup/to_label.rb +1 -0
- data/lib/rdoc/markup/to_markdown.rb +1 -0
- data/lib/rdoc/markup/to_rdoc.rb +1 -0
- data/lib/rdoc/markup/to_table_of_contents.rb +1 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +1 -0
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +1 -0
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +1 -0
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +1 -0
- data/lib/rdoc/parser.rb +1 -0
- data/lib/rdoc/parser/c.rb +76 -33
- data/lib/rdoc/parser/changelog.rb +7 -1
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ruby.rb +1 -0
- data/lib/rdoc/parser/ruby_tools.rb +1 -0
- data/lib/rdoc/parser/simple.rb +1 -0
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rd/inline.rb +1 -0
- data/lib/rdoc/rdoc.rb +2 -1
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/ri/driver.rb +5 -19
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +1 -0
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +72 -0
- data/lib/rdoc/ruby_lex.rb +11 -17
- data/lib/rdoc/ruby_token.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +1 -0
- data/lib/rdoc/servlet.rb +4 -3
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/stats/normal.rb +1 -0
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/store.rb +3 -9
- data/lib/rdoc/task.rb +1 -0
- data/lib/rdoc/test_case.rb +1 -10
- data/lib/rdoc/text.rb +1 -0
- data/lib/rdoc/token_stream.rb +1 -0
- data/lib/rdoc/tom_doc.rb +1 -0
- data/lib/rdoc/top_level.rb +1 -0
- data/rdoc.gemspec +60 -0
- metadata +32 -155
- data/Manifest.txt +0 -309
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- 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/test/test_rdoc_ri_paths.rb
DELETED
@@ -1,155 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocRIPaths < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@orig_gem_path = Gem.path
|
9
|
-
|
10
|
-
@tempdir = File.join Dir.tmpdir, "test_rdoc_ri_paths_#{$$}"
|
11
|
-
Gem.use_paths @tempdir
|
12
|
-
Gem.ensure_gem_subdirectories @tempdir
|
13
|
-
|
14
|
-
specs = [
|
15
|
-
@rake_10 = Gem::Specification.new('rake', '10.0.1'),
|
16
|
-
@rdoc_4_0 = Gem::Specification.new('rdoc', '4.0'),
|
17
|
-
@rdoc_3_12 = Gem::Specification.new('rdoc', '3.12'),
|
18
|
-
@nodoc = Gem::Specification.new('nodoc', '1.0'),
|
19
|
-
]
|
20
|
-
|
21
|
-
specs.each do |spec|
|
22
|
-
spec.loaded_from = spec.spec_file
|
23
|
-
|
24
|
-
open spec.spec_file, 'w' do |file|
|
25
|
-
file.write spec.to_ruby_for_cache
|
26
|
-
end
|
27
|
-
|
28
|
-
FileUtils.mkdir_p File.join(spec.doc_dir, 'ri') unless
|
29
|
-
spec.name == 'nodoc'
|
30
|
-
end
|
31
|
-
|
32
|
-
Gem::Specification.reset
|
33
|
-
Gem::Specification.all = specs
|
34
|
-
end
|
35
|
-
|
36
|
-
def teardown
|
37
|
-
super
|
38
|
-
|
39
|
-
Gem.use_paths(*@orig_gem_path)
|
40
|
-
Gem::Specification.reset
|
41
|
-
FileUtils.rm_rf @tempdir
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_class_each
|
45
|
-
enum = RDoc::RI::Paths.each true, true, true, :all
|
46
|
-
|
47
|
-
path = enum.map { |dir,| dir }
|
48
|
-
|
49
|
-
assert_equal RDoc::RI::Paths.system_dir, path.shift
|
50
|
-
assert_equal RDoc::RI::Paths.site_dir, path.shift
|
51
|
-
assert_equal RDoc::RI::Paths.home_dir, path.shift
|
52
|
-
assert_equal File.join(@nodoc.doc_dir, 'ri'), path.shift
|
53
|
-
assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
|
54
|
-
assert_equal File.join(@rdoc_4_0.doc_dir, 'ri'), path.shift
|
55
|
-
assert_equal File.join(@rdoc_3_12.doc_dir, 'ri'), path.shift
|
56
|
-
assert_empty path
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_class_gemdirs_latest
|
60
|
-
Dir.chdir @tempdir do
|
61
|
-
gemdirs = RDoc::RI::Paths.gemdirs :latest
|
62
|
-
|
63
|
-
expected = [
|
64
|
-
File.join(@rake_10.doc_dir, 'ri'),
|
65
|
-
File.join(@rdoc_4_0.doc_dir, 'ri'),
|
66
|
-
]
|
67
|
-
|
68
|
-
assert_equal expected, gemdirs
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_class_gemdirs_legacy
|
73
|
-
Dir.chdir @tempdir do
|
74
|
-
gemdirs = RDoc::RI::Paths.gemdirs true
|
75
|
-
|
76
|
-
expected = [
|
77
|
-
File.join(@rake_10.doc_dir, 'ri'),
|
78
|
-
File.join(@rdoc_4_0.doc_dir, 'ri'),
|
79
|
-
]
|
80
|
-
|
81
|
-
assert_equal expected, gemdirs
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_class_gemdirs_all
|
86
|
-
Dir.chdir @tempdir do
|
87
|
-
gemdirs = RDoc::RI::Paths.gemdirs :all
|
88
|
-
|
89
|
-
expected = [
|
90
|
-
File.join(@nodoc.doc_dir, 'ri'),
|
91
|
-
File.join(@rake_10.doc_dir, 'ri'),
|
92
|
-
File.join(@rdoc_4_0.doc_dir, 'ri'),
|
93
|
-
File.join(@rdoc_3_12.doc_dir, 'ri'),
|
94
|
-
]
|
95
|
-
|
96
|
-
assert_equal expected, gemdirs
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def test_class_gem_dir
|
101
|
-
dir = RDoc::RI::Paths.gem_dir 'rake', '10.0.1'
|
102
|
-
|
103
|
-
expected = File.join @rake_10.doc_dir, 'ri'
|
104
|
-
|
105
|
-
assert_equal expected, dir
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_class_home_dir
|
109
|
-
dir = RDoc::RI::Paths.home_dir
|
110
|
-
|
111
|
-
assert_equal RDoc::RI::Paths::HOMEDIR, dir
|
112
|
-
end
|
113
|
-
|
114
|
-
def test_class_path_nonexistent
|
115
|
-
temp_dir do |dir|
|
116
|
-
nonexistent = File.join dir, 'nonexistent'
|
117
|
-
dir = RDoc::RI::Paths.path true, true, true, true, nonexistent
|
118
|
-
|
119
|
-
refute_includes dir, nonexistent
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def test_class_raw_path
|
124
|
-
path = RDoc::RI::Paths.raw_path true, true, true, true
|
125
|
-
|
126
|
-
assert_equal RDoc::RI::Paths.system_dir, path.shift
|
127
|
-
assert_equal RDoc::RI::Paths.site_dir, path.shift
|
128
|
-
assert_equal RDoc::RI::Paths.home_dir, path.shift
|
129
|
-
assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
|
130
|
-
end
|
131
|
-
|
132
|
-
def test_class_raw_path_extra_dirs
|
133
|
-
path = RDoc::RI::Paths.raw_path true, true, true, true, '/nonexistent'
|
134
|
-
|
135
|
-
assert_equal '/nonexistent', path.shift
|
136
|
-
assert_equal RDoc::RI::Paths.system_dir, path.shift
|
137
|
-
assert_equal RDoc::RI::Paths.site_dir, path.shift
|
138
|
-
assert_equal RDoc::RI::Paths.home_dir, path.shift
|
139
|
-
assert_equal File.join(@rake_10.doc_dir, 'ri'), path.shift
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_class_site_dir
|
143
|
-
dir = RDoc::RI::Paths.site_dir
|
144
|
-
|
145
|
-
assert_equal File.join(RDoc::RI::Paths::BASE, 'site'), dir
|
146
|
-
end
|
147
|
-
|
148
|
-
def test_class_system_dir
|
149
|
-
dir = RDoc::RI::Paths.system_dir
|
150
|
-
|
151
|
-
assert_equal File.join(RDoc::RI::Paths::BASE, 'system'), dir
|
152
|
-
end
|
153
|
-
|
154
|
-
end
|
155
|
-
|
data/test/test_rdoc_ruby_lex.rb
DELETED
@@ -1,421 +0,0 @@
|
|
1
|
-
# coding: UTF-8
|
2
|
-
|
3
|
-
require 'rdoc/test_case'
|
4
|
-
|
5
|
-
class TestRDocRubyLex < RDoc::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@TK = RDoc::RubyToken
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_class_tokenize
|
12
|
-
tokens = RDoc::RubyLex.tokenize "def x() end", nil
|
13
|
-
|
14
|
-
expected = [
|
15
|
-
@TK::TkDEF .new( 0, 1, 0, "def"),
|
16
|
-
@TK::TkSPACE .new( 3, 1, 3, " "),
|
17
|
-
@TK::TkIDENTIFIER.new( 4, 1, 4, "x"),
|
18
|
-
@TK::TkLPAREN .new( 5, 1, 5, "("),
|
19
|
-
@TK::TkRPAREN .new( 6, 1, 6, ")"),
|
20
|
-
@TK::TkSPACE .new( 7, 1, 7, " "),
|
21
|
-
@TK::TkEND .new( 8, 1, 8, "end"),
|
22
|
-
@TK::TkNL .new(11, 1, 11, "\n"),
|
23
|
-
]
|
24
|
-
|
25
|
-
assert_equal expected, tokens
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_class_tokenize___END__
|
29
|
-
tokens = RDoc::RubyLex.tokenize '__END__', nil
|
30
|
-
|
31
|
-
expected = [
|
32
|
-
@TK::TkEND_OF_SCRIPT.new(0, 1, 0, '__END__'),
|
33
|
-
@TK::TkNL .new(7, 1, 7, "\n"),
|
34
|
-
]
|
35
|
-
|
36
|
-
assert_equal expected, tokens
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_class_tokenize_character_literal
|
40
|
-
tokens = RDoc::RubyLex.tokenize "?\\", nil
|
41
|
-
|
42
|
-
expected = [
|
43
|
-
@TK::TkCHAR.new( 0, 1, 0, "?\\"),
|
44
|
-
@TK::TkNL .new( 2, 1, 2, "\n"),
|
45
|
-
]
|
46
|
-
|
47
|
-
assert_equal expected, tokens
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_class_tokenize_def_heredoc
|
51
|
-
tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
|
52
|
-
def x
|
53
|
-
<<E
|
54
|
-
Line 1
|
55
|
-
Line 2
|
56
|
-
E
|
57
|
-
end
|
58
|
-
RUBY
|
59
|
-
|
60
|
-
expected = [
|
61
|
-
@TK::TkDEF .new( 0, 1, 0, 'def'),
|
62
|
-
@TK::TkSPACE .new( 3, 1, 3, ' '),
|
63
|
-
@TK::TkIDENTIFIER.new( 4, 1, 4, 'x'),
|
64
|
-
@TK::TkNL .new( 5, 1, 5, "\n"),
|
65
|
-
@TK::TkSPACE .new( 6, 2, 0, ' '),
|
66
|
-
@TK::TkHEREDOC .new( 8, 2, 2,
|
67
|
-
%Q{<<E\nLine 1\nLine 2\nE}),
|
68
|
-
@TK::TkNL .new(27, 5, 28, "\n"),
|
69
|
-
@TK::TkEND .new(28, 6, 0, 'end'),
|
70
|
-
@TK::TkNL .new(31, 6, 28, "\n"),
|
71
|
-
]
|
72
|
-
|
73
|
-
assert_equal expected, tokens
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_class_tokenize_hash_symbol
|
77
|
-
tokens = RDoc::RubyLex.tokenize '{ class:"foo" }', nil
|
78
|
-
|
79
|
-
expected = [
|
80
|
-
@TK::TkLBRACE .new( 0, 1, 0, '{'),
|
81
|
-
@TK::TkSPACE .new( 1, 1, 1, ' '),
|
82
|
-
@TK::TkIDENTIFIER.new( 2, 1, 2, 'class'),
|
83
|
-
@TK::TkSYMBEG .new( 7, 1, 7, ':'),
|
84
|
-
@TK::TkSTRING .new( 8, 1, 8, '"foo"'),
|
85
|
-
@TK::TkSPACE .new(13, 1, 13, ' '),
|
86
|
-
@TK::TkRBRACE .new(14, 1, 14, '}'),
|
87
|
-
@TK::TkNL .new(15, 1, 15, "\n"),
|
88
|
-
]
|
89
|
-
|
90
|
-
assert_equal expected, tokens
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_class_tokenize_heredoc_CR_NL
|
94
|
-
tokens = RDoc::RubyLex.tokenize <<-RUBY, nil
|
95
|
-
string = <<-STRING\r
|
96
|
-
Line 1\r
|
97
|
-
Line 2\r
|
98
|
-
STRING\r
|
99
|
-
RUBY
|
100
|
-
|
101
|
-
expected = [
|
102
|
-
@TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
|
103
|
-
@TK::TkSPACE .new( 6, 1, 6, ' '),
|
104
|
-
@TK::TkASSIGN .new( 7, 1, 7, '='),
|
105
|
-
@TK::TkSPACE .new( 8, 1, 8, ' '),
|
106
|
-
@TK::TkHEREDOC .new( 9, 1, 9,
|
107
|
-
%Q{<<-STRING\nLine 1\nLine 2\n STRING}),
|
108
|
-
@TK::TkSPACE .new(44, 4, 45, "\r"),
|
109
|
-
@TK::TkNL .new(45, 4, 46, "\n"),
|
110
|
-
]
|
111
|
-
|
112
|
-
assert_equal expected, tokens
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_class_tokenize_heredoc_call
|
116
|
-
tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
|
117
|
-
string = <<-STRING.chomp
|
118
|
-
Line 1
|
119
|
-
Line 2
|
120
|
-
STRING
|
121
|
-
RUBY
|
122
|
-
|
123
|
-
expected = [
|
124
|
-
@TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
|
125
|
-
@TK::TkSPACE .new( 6, 1, 6, ' '),
|
126
|
-
@TK::TkASSIGN .new( 7, 1, 7, '='),
|
127
|
-
@TK::TkSPACE .new( 8, 1, 8, ' '),
|
128
|
-
@TK::TkSTRING .new( 9, 1, 9, %Q{"Line 1\nLine 2\n"}),
|
129
|
-
@TK::TkDOT .new(41, 4, 42, '.'),
|
130
|
-
@TK::TkIDENTIFIER.new(42, 4, 43, 'chomp'),
|
131
|
-
@TK::TkNL .new(47, 4, 48, "\n"),
|
132
|
-
]
|
133
|
-
|
134
|
-
assert_equal expected, tokens
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_class_tokenize_heredoc_indent
|
138
|
-
tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
|
139
|
-
string = <<-STRING
|
140
|
-
Line 1
|
141
|
-
Line 2
|
142
|
-
STRING
|
143
|
-
RUBY
|
144
|
-
|
145
|
-
expected = [
|
146
|
-
@TK::TkIDENTIFIER.new( 0, 1, 0, 'string'),
|
147
|
-
@TK::TkSPACE .new( 6, 1, 6, ' '),
|
148
|
-
@TK::TkASSIGN .new( 7, 1, 7, '='),
|
149
|
-
@TK::TkSPACE .new( 8, 1, 8, ' '),
|
150
|
-
@TK::TkHEREDOC .new( 9, 1, 9,
|
151
|
-
%Q{<<-STRING\nLine 1\nLine 2\n STRING}),
|
152
|
-
@TK::TkNL .new(41, 4, 42, "\n"),
|
153
|
-
]
|
154
|
-
|
155
|
-
assert_equal expected, tokens
|
156
|
-
end
|
157
|
-
|
158
|
-
def test_class_tokenize_heredoc_missing_end
|
159
|
-
e = assert_raises RDoc::RubyLex::Error do
|
160
|
-
RDoc::RubyLex.tokenize <<-'RUBY', nil
|
161
|
-
>> string1 = <<-TXT
|
162
|
-
>" That's swell
|
163
|
-
>" TXT
|
164
|
-
RUBY
|
165
|
-
end
|
166
|
-
|
167
|
-
assert_equal 'Missing terminating TXT for string', e.message
|
168
|
-
end
|
169
|
-
|
170
|
-
def test_class_tokenize_heredoc_percent_N
|
171
|
-
tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
|
172
|
-
a b <<-U
|
173
|
-
%N
|
174
|
-
U
|
175
|
-
RUBY
|
176
|
-
|
177
|
-
expected = [
|
178
|
-
@TK::TkIDENTIFIER.new( 0, 1, 0, 'a'),
|
179
|
-
@TK::TkSPACE .new( 1, 1, 1, ' '),
|
180
|
-
@TK::TkIDENTIFIER.new( 2, 1, 2, 'b'),
|
181
|
-
@TK::TkSPACE .new( 3, 1, 3, ' '),
|
182
|
-
@TK::TkHEREDOC .new( 4, 1, 4, %Q{<<-U\n%N\nU}),
|
183
|
-
@TK::TkNL .new(13, 3, 14, "\n"),
|
184
|
-
]
|
185
|
-
|
186
|
-
assert_equal expected, tokens
|
187
|
-
end
|
188
|
-
|
189
|
-
def test_class_tokenize_identifier_high_unicode
|
190
|
-
tokens = RDoc::RubyLex.tokenize '𝖒', nil
|
191
|
-
|
192
|
-
expected = @TK::TkIDENTIFIER.new(0, 1, 0, '𝖒')
|
193
|
-
|
194
|
-
assert_equal expected, tokens.first
|
195
|
-
end
|
196
|
-
|
197
|
-
def test_class_tokenize_percent_1
|
198
|
-
tokens = RDoc::RubyLex.tokenize 'v%10==10', nil
|
199
|
-
|
200
|
-
expected = [
|
201
|
-
@TK::TkIDENTIFIER.new(0, 1, 0, 'v'),
|
202
|
-
@TK::TkMOD.new( 1, 1, 1, '%'),
|
203
|
-
@TK::TkINTEGER.new( 2, 1, 2, '10'),
|
204
|
-
@TK::TkEQ.new( 4, 1, 4, '=='),
|
205
|
-
@TK::TkINTEGER.new( 6, 1, 6, '10'),
|
206
|
-
@TK::TkNL.new( 8, 1, 8, "\n"),
|
207
|
-
]
|
208
|
-
|
209
|
-
assert_equal expected, tokens
|
210
|
-
end
|
211
|
-
|
212
|
-
def test_class_tokenize_percent_r
|
213
|
-
tokens = RDoc::RubyLex.tokenize '%r[hi]', nil
|
214
|
-
|
215
|
-
expected = [
|
216
|
-
@TK::TkREGEXP.new( 0, 1, 0, '%r[hi]'),
|
217
|
-
@TK::TkNL .new( 6, 1, 6, "\n"),
|
218
|
-
]
|
219
|
-
|
220
|
-
assert_equal expected, tokens
|
221
|
-
end
|
222
|
-
|
223
|
-
def test_class_tokenize_percent_w
|
224
|
-
tokens = RDoc::RubyLex.tokenize '%w[hi]', nil
|
225
|
-
|
226
|
-
expected = [
|
227
|
-
@TK::TkDSTRING.new( 0, 1, 0, '%w[hi]'),
|
228
|
-
@TK::TkNL .new( 6, 1, 6, "\n"),
|
229
|
-
]
|
230
|
-
|
231
|
-
assert_equal expected, tokens
|
232
|
-
end
|
233
|
-
|
234
|
-
def test_class_tokenize_percent_w_quote
|
235
|
-
tokens = RDoc::RubyLex.tokenize '%w"hi"', nil
|
236
|
-
|
237
|
-
expected = [
|
238
|
-
@TK::TkDSTRING.new( 0, 1, 0, '%w"hi"'),
|
239
|
-
@TK::TkNL .new( 6, 1, 6, "\n"),
|
240
|
-
]
|
241
|
-
|
242
|
-
assert_equal expected, tokens
|
243
|
-
end
|
244
|
-
|
245
|
-
def test_class_tokenize_regexp
|
246
|
-
tokens = RDoc::RubyLex.tokenize "/hay/", nil
|
247
|
-
|
248
|
-
expected = [
|
249
|
-
@TK::TkREGEXP.new( 0, 1, 0, "/hay/"),
|
250
|
-
@TK::TkNL .new( 5, 1, 5, "\n"),
|
251
|
-
]
|
252
|
-
|
253
|
-
assert_equal expected, tokens
|
254
|
-
end
|
255
|
-
|
256
|
-
def test_class_tokenize_regexp_options
|
257
|
-
tokens = RDoc::RubyLex.tokenize "/hAY/i", nil
|
258
|
-
|
259
|
-
expected = [
|
260
|
-
@TK::TkREGEXP.new( 0, 1, 0, "/hAY/i"),
|
261
|
-
@TK::TkNL .new( 6, 1, 6, "\n"),
|
262
|
-
]
|
263
|
-
|
264
|
-
assert_equal expected, tokens
|
265
|
-
|
266
|
-
tokens = RDoc::RubyLex.tokenize "/hAY/ix", nil
|
267
|
-
|
268
|
-
expected = [
|
269
|
-
@TK::TkREGEXP.new( 0, 1, 0, "/hAY/ix"),
|
270
|
-
@TK::TkNL .new( 7, 1, 7, "\n"),
|
271
|
-
]
|
272
|
-
|
273
|
-
assert_equal expected, tokens
|
274
|
-
end
|
275
|
-
|
276
|
-
def test_class_tokenize_regexp_backref
|
277
|
-
tokens = RDoc::RubyLex.tokenize "/[csh](..) [csh]\\1 in/", nil
|
278
|
-
|
279
|
-
expected = [
|
280
|
-
@TK::TkREGEXP.new( 0, 1, 0, "/[csh](..) [csh]\\1 in/"),
|
281
|
-
@TK::TkNL .new(22, 1, 22, "\n"),
|
282
|
-
]
|
283
|
-
|
284
|
-
assert_equal expected, tokens
|
285
|
-
end
|
286
|
-
|
287
|
-
def test_class_tokenize_regexp_escape
|
288
|
-
tokens = RDoc::RubyLex.tokenize "/\\//", nil
|
289
|
-
|
290
|
-
expected = [
|
291
|
-
@TK::TkREGEXP.new( 0, 1, 0, "/\\//"),
|
292
|
-
@TK::TkNL .new( 4, 1, 4, "\n"),
|
293
|
-
]
|
294
|
-
|
295
|
-
assert_equal expected, tokens
|
296
|
-
end
|
297
|
-
|
298
|
-
def test_class_tokenize_string
|
299
|
-
tokens = RDoc::RubyLex.tokenize "'hi'", nil
|
300
|
-
|
301
|
-
expected = [
|
302
|
-
@TK::TkSTRING.new( 0, 1, 0, "'hi'"),
|
303
|
-
@TK::TkNL .new( 4, 1, 4, "\n"),
|
304
|
-
]
|
305
|
-
|
306
|
-
assert_equal expected, tokens
|
307
|
-
end
|
308
|
-
|
309
|
-
def test_class_tokenize_string_escape
|
310
|
-
tokens = RDoc::RubyLex.tokenize '"\\n"', nil
|
311
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\n\""), tokens.first
|
312
|
-
|
313
|
-
tokens = RDoc::RubyLex.tokenize '"\\r"', nil
|
314
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\r\""), tokens.first
|
315
|
-
|
316
|
-
tokens = RDoc::RubyLex.tokenize '"\\f"', nil
|
317
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\f\""), tokens.first
|
318
|
-
|
319
|
-
tokens = RDoc::RubyLex.tokenize '"\\\\"', nil
|
320
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\\\\""), tokens.first
|
321
|
-
|
322
|
-
tokens = RDoc::RubyLex.tokenize '"\\t"', nil
|
323
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\t\""), tokens.first
|
324
|
-
|
325
|
-
tokens = RDoc::RubyLex.tokenize '"\\v"', nil
|
326
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\v\""), tokens.first
|
327
|
-
|
328
|
-
tokens = RDoc::RubyLex.tokenize '"\\a"', nil
|
329
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\a\""), tokens.first
|
330
|
-
|
331
|
-
tokens = RDoc::RubyLex.tokenize '"\\e"', nil
|
332
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\e\""), tokens.first
|
333
|
-
|
334
|
-
tokens = RDoc::RubyLex.tokenize '"\\b"', nil
|
335
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\b\""), tokens.first
|
336
|
-
|
337
|
-
tokens = RDoc::RubyLex.tokenize '"\\s"', nil
|
338
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\s\""), tokens.first
|
339
|
-
|
340
|
-
tokens = RDoc::RubyLex.tokenize '"\\d"', nil
|
341
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\d\""), tokens.first
|
342
|
-
|
343
|
-
end
|
344
|
-
|
345
|
-
def test_class_tokenize_string_escape_control
|
346
|
-
tokens = RDoc::RubyLex.tokenize '"\\C-a"', nil
|
347
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\C-a\""), tokens.first
|
348
|
-
|
349
|
-
tokens = RDoc::RubyLex.tokenize '"\\c\\a"', nil
|
350
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\c\\a\""), tokens.first
|
351
|
-
|
352
|
-
tokens = RDoc::RubyLex.tokenize '"\\C-\\M-a"', nil
|
353
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\C-\\M-a\""), tokens.first
|
354
|
-
end
|
355
|
-
|
356
|
-
def test_class_tokenize_string_escape_meta
|
357
|
-
tokens = RDoc::RubyLex.tokenize '"\\M-a"', nil
|
358
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\M-a\""), tokens.first
|
359
|
-
|
360
|
-
tokens = RDoc::RubyLex.tokenize '"\\M-\\C-a"', nil
|
361
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\M-\\C-a\""), tokens.first
|
362
|
-
end
|
363
|
-
|
364
|
-
def test_class_tokenize_string_escape_hexadecimal
|
365
|
-
tokens = RDoc::RubyLex.tokenize '"\\x0"', nil
|
366
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x0\""), tokens.first
|
367
|
-
|
368
|
-
tokens = RDoc::RubyLex.tokenize '"\\x00"', nil
|
369
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x00\""), tokens.first
|
370
|
-
|
371
|
-
tokens = RDoc::RubyLex.tokenize '"\\x000"', nil
|
372
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\x000\""), tokens.first
|
373
|
-
end
|
374
|
-
|
375
|
-
def test_class_tokenize_string_escape_octal
|
376
|
-
tokens = RDoc::RubyLex.tokenize '"\\0"', nil
|
377
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\0\""), tokens.first
|
378
|
-
|
379
|
-
tokens = RDoc::RubyLex.tokenize '"\\00"', nil
|
380
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\00\""), tokens.first
|
381
|
-
|
382
|
-
tokens = RDoc::RubyLex.tokenize '"\\000"', nil
|
383
|
-
assert_equal @TK::TkSTRING.new( 0, 1, 0, "\"\\000\""), tokens.first
|
384
|
-
end
|
385
|
-
|
386
|
-
def test_class_tokenize_symbol
|
387
|
-
tokens = RDoc::RubyLex.tokenize 'scope module: :v1', nil
|
388
|
-
|
389
|
-
expected = [
|
390
|
-
@TK::TkIDENTIFIER.new( 0, 1, 0, 'scope'),
|
391
|
-
@TK::TkSPACE .new( 5, 1, 5, ' '),
|
392
|
-
@TK::TkIDENTIFIER.new( 6, 1, 6, 'module'),
|
393
|
-
@TK::TkCOLON .new(12, 1, 12, ':'),
|
394
|
-
@TK::TkSPACE .new(13, 1, 13, ' '),
|
395
|
-
@TK::TkSYMBEG .new(14, 1, 14, ':'),
|
396
|
-
@TK::TkIDENTIFIER.new(15, 1, 15, 'v1'),
|
397
|
-
@TK::TkNL .new(17, 1, 17, "\n"),
|
398
|
-
]
|
399
|
-
|
400
|
-
assert_equal expected, tokens
|
401
|
-
end
|
402
|
-
|
403
|
-
def test_unary_minus
|
404
|
-
ruby_lex = RDoc::RubyLex.new("-1", nil)
|
405
|
-
assert_equal("-1", ruby_lex.token.value)
|
406
|
-
|
407
|
-
ruby_lex = RDoc::RubyLex.new("a[-2]", nil)
|
408
|
-
2.times { ruby_lex.token } # skip "a" and "["
|
409
|
-
assert_equal("-2", ruby_lex.token.value)
|
410
|
-
|
411
|
-
ruby_lex = RDoc::RubyLex.new("a[0..-12]", nil)
|
412
|
-
4.times { ruby_lex.token } # skip "a", "[", "0", and ".."
|
413
|
-
assert_equal("-12", ruby_lex.token.value)
|
414
|
-
|
415
|
-
ruby_lex = RDoc::RubyLex.new("0+-0.1", nil)
|
416
|
-
2.times { ruby_lex.token } # skip "0" and "+"
|
417
|
-
assert_equal("-0.1", ruby_lex.token.value)
|
418
|
-
end
|
419
|
-
|
420
|
-
end
|
421
|
-
|