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
@@ -1,130 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocContextSection < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@top_level = @store.add_file 'file.rb'
|
9
|
-
|
10
|
-
@klass = @top_level.add_class RDoc::NormalClass, 'Object'
|
11
|
-
|
12
|
-
@S = RDoc::Context::Section
|
13
|
-
@s = @S.new @klass, 'section', comment('# comment', @top_level)
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_add_comment
|
17
|
-
file1 = @store.add_file 'file1.rb'
|
18
|
-
|
19
|
-
klass = file1.add_class RDoc::NormalClass, 'Klass'
|
20
|
-
|
21
|
-
c1 = RDoc::Comment.new "# :section: section\n", file1
|
22
|
-
c2 = RDoc::Comment.new "# hello\n", file1
|
23
|
-
c3 = RDoc::Comment.new "# world\n", file1
|
24
|
-
|
25
|
-
s = @S.new klass, 'section', c1
|
26
|
-
|
27
|
-
assert_empty s.comments
|
28
|
-
|
29
|
-
s.add_comment nil
|
30
|
-
|
31
|
-
assert_empty s.comments
|
32
|
-
|
33
|
-
s.add_comment c2
|
34
|
-
|
35
|
-
assert_equal [c2], s.comments
|
36
|
-
|
37
|
-
s.add_comment c3
|
38
|
-
|
39
|
-
assert_equal [c2, c3], s.comments
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_aref
|
43
|
-
assert_equal 'section', @s.aref
|
44
|
-
|
45
|
-
assert_equal '5Buntitled-5D', @S.new(nil, nil, nil).aref
|
46
|
-
|
47
|
-
assert_equal 'one+two', @S.new(nil, 'one two', nil).aref
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_extract_comment
|
51
|
-
assert_equal '', @s.extract_comment(comment('')).text
|
52
|
-
assert_equal '', @s.extract_comment(comment("# :section: b\n")).text
|
53
|
-
assert_equal '# c', @s.extract_comment(comment("# :section: b\n# c")).text
|
54
|
-
assert_equal '# c',
|
55
|
-
@s.extract_comment(comment("# a\n# :section: b\n# c")).text
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_marshal_dump
|
59
|
-
loaded = Marshal.load Marshal.dump @s
|
60
|
-
|
61
|
-
expected = RDoc::Comment.new('comment', @top_level).parse
|
62
|
-
expected = doc(expected)
|
63
|
-
|
64
|
-
assert_equal 'section', loaded.title
|
65
|
-
assert_equal expected, loaded.comments
|
66
|
-
assert_nil loaded.parent, 'parent is set manually'
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_marshal_dump_no_comment
|
70
|
-
s = @S.new @klass, 'section', comment('')
|
71
|
-
|
72
|
-
loaded = Marshal.load Marshal.dump s
|
73
|
-
|
74
|
-
assert_equal 'section', loaded.title
|
75
|
-
assert_empty loaded.comments
|
76
|
-
assert_nil loaded.parent, 'parent is set manually'
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_marshal_load_version_0
|
80
|
-
loaded = Marshal.load "\x04\bU:\eRDoc::Context::Section" +
|
81
|
-
"[\bi\x00I\"\fsection\x06:\x06EFo" +
|
82
|
-
":\eRDoc::Markup::Document\a:\v@parts" +
|
83
|
-
"[\x06o;\a\a;\b[\x06o" +
|
84
|
-
":\x1CRDoc::Markup::Paragraph\x06;\b" +
|
85
|
-
"[\x06I\"\fcomment\x06;\x06F:\n@fileI" +
|
86
|
-
"\"\ffile.rb\x06;\x06F;\n0"
|
87
|
-
|
88
|
-
expected = doc RDoc::Comment.new('comment', @top_level).parse
|
89
|
-
|
90
|
-
assert_equal 'section', loaded.title
|
91
|
-
assert_equal expected, loaded.comments
|
92
|
-
assert_nil loaded.parent, 'parent is set manually'
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_remove_comment_array
|
96
|
-
other = @store.add_file 'other.rb'
|
97
|
-
|
98
|
-
other_comment = comment('bogus', other)
|
99
|
-
|
100
|
-
@s.add_comment other_comment
|
101
|
-
|
102
|
-
@s.remove_comment comment('bogus', @top_level)
|
103
|
-
|
104
|
-
assert_equal [other_comment], @s.comments
|
105
|
-
end
|
106
|
-
|
107
|
-
def test_remove_comment_document
|
108
|
-
other = @store.add_file 'other.rb'
|
109
|
-
|
110
|
-
other_comment = comment('bogus', other)
|
111
|
-
|
112
|
-
@s.add_comment other_comment
|
113
|
-
|
114
|
-
loaded = Marshal.load Marshal.dump @s
|
115
|
-
|
116
|
-
loaded.remove_comment comment('bogus', @top_level)
|
117
|
-
|
118
|
-
assert_equal doc(other_comment.parse), loaded.comments
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_sequence
|
122
|
-
_, err = verbose_capture_io do
|
123
|
-
assert_match(/\ASEC\d{5}\Z/, @s.sequence)
|
124
|
-
end
|
125
|
-
|
126
|
-
assert_equal "#{@S}#sequence is deprecated, use #aref\n", err
|
127
|
-
end
|
128
|
-
|
129
|
-
end
|
130
|
-
|
@@ -1,192 +0,0 @@
|
|
1
|
-
require File.expand_path '../xref_test_case', __FILE__
|
2
|
-
|
3
|
-
class TestRDocCrossReference < XrefTestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@xref = RDoc::CrossReference.new @c1
|
9
|
-
end
|
10
|
-
|
11
|
-
def assert_ref expected, name
|
12
|
-
assert_equal expected, @xref.resolve(name, 'fail')
|
13
|
-
end
|
14
|
-
|
15
|
-
def refute_ref name
|
16
|
-
assert_equal name, @xref.resolve(name, name)
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_METHOD_REGEXP_STR
|
20
|
-
re = /#{RDoc::CrossReference::METHOD_REGEXP_STR}/
|
21
|
-
|
22
|
-
%w'=== [] []= << >>'.each do |x|
|
23
|
-
re =~ x
|
24
|
-
assert_equal x, $&
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_resolve_C2
|
29
|
-
@xref = RDoc::CrossReference.new @c2
|
30
|
-
|
31
|
-
refute_ref '#m'
|
32
|
-
|
33
|
-
assert_ref @c1__m, 'C1::m'
|
34
|
-
assert_ref @c2_c3, 'C2::C3'
|
35
|
-
assert_ref @c2_c3_m, 'C2::C3#m'
|
36
|
-
assert_ref @c2_c3_h1, 'C3::H1'
|
37
|
-
assert_ref @c4, 'C4'
|
38
|
-
|
39
|
-
assert_ref @c3_h2, 'C3::H2'
|
40
|
-
refute_ref 'H1'
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_resolve_C2_C3
|
44
|
-
@xref = RDoc::CrossReference.new @c2_c3
|
45
|
-
|
46
|
-
assert_ref @c2_c3_m, '#m'
|
47
|
-
|
48
|
-
assert_ref @c2_c3, 'C3'
|
49
|
-
assert_ref @c2_c3_m, 'C3#m'
|
50
|
-
|
51
|
-
assert_ref @c2_c3_h1, 'H1'
|
52
|
-
assert_ref @c2_c3_h1, 'C3::H1'
|
53
|
-
|
54
|
-
assert_ref @c4, 'C4'
|
55
|
-
|
56
|
-
assert_ref @c3_h2, 'C3::H2'
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_resolve_C3
|
60
|
-
@xref = RDoc::CrossReference.new @c3
|
61
|
-
|
62
|
-
assert_ref @c3, 'C3'
|
63
|
-
|
64
|
-
refute_ref '#m'
|
65
|
-
refute_ref 'C3#m'
|
66
|
-
|
67
|
-
assert_ref @c3_h1, 'H1'
|
68
|
-
|
69
|
-
assert_ref @c3_h1, 'C3::H1'
|
70
|
-
assert_ref @c3_h2, 'C3::H2'
|
71
|
-
|
72
|
-
assert_ref @c4, 'C4'
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_resolve_C4
|
76
|
-
@xref = RDoc::CrossReference.new @c4
|
77
|
-
|
78
|
-
# C4 ref inside a C4 containing a C4 should resolve to the contained class
|
79
|
-
assert_ref @c4_c4, 'C4'
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_resolve_C4_C4
|
83
|
-
@xref = RDoc::CrossReference.new @c4_c4
|
84
|
-
|
85
|
-
# A C4 reference inside a C4 class contained within a C4 class should
|
86
|
-
# resolve to the inner C4 class.
|
87
|
-
assert_ref @c4_c4, 'C4'
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_resolve_class
|
91
|
-
assert_ref @c1, 'C1'
|
92
|
-
refute_ref 'H1'
|
93
|
-
|
94
|
-
assert_ref @c2, 'C2'
|
95
|
-
assert_ref @c2_c3, 'C2::C3'
|
96
|
-
assert_ref @c2_c3_h1, 'C2::C3::H1'
|
97
|
-
|
98
|
-
assert_ref @c3, '::C3'
|
99
|
-
assert_ref @c3_h1, '::C3::H1'
|
100
|
-
|
101
|
-
assert_ref @c4_c4, 'C4::C4'
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_resolve_file
|
105
|
-
refute_ref 'xref_data.rb'
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_resolve_method
|
109
|
-
assert_ref @c1__m, 'm'
|
110
|
-
assert_ref @c1_m, '#m'
|
111
|
-
assert_ref @c1__m, '::m'
|
112
|
-
|
113
|
-
assert_ref @c1_m, 'C1#m'
|
114
|
-
assert_ref @c1__m, 'C1.m'
|
115
|
-
assert_ref @c1__m, 'C1::m'
|
116
|
-
|
117
|
-
assert_ref @c1_m, 'C1#m'
|
118
|
-
assert_ref @c1_m, 'C1#m()'
|
119
|
-
assert_ref @c1_m, 'C1#m(*)'
|
120
|
-
|
121
|
-
assert_ref @c1__m, 'C1.m'
|
122
|
-
assert_ref @c1__m, 'C1.m()'
|
123
|
-
assert_ref @c1__m, 'C1.m(*)'
|
124
|
-
|
125
|
-
assert_ref @c1__m, 'C1::m'
|
126
|
-
assert_ref @c1__m, 'C1::m()'
|
127
|
-
assert_ref @c1__m, 'C1::m(*)'
|
128
|
-
|
129
|
-
assert_ref @c2_c3_m, 'C2::C3#m'
|
130
|
-
|
131
|
-
assert_ref @c2_c3_m, 'C2::C3.m'
|
132
|
-
|
133
|
-
# TODO stop escaping - HTML5 allows anything but space
|
134
|
-
assert_ref @c2_c3_h1_meh, 'C2::C3::H1#m?'
|
135
|
-
|
136
|
-
assert_ref @c2_c3_m, '::C2::C3#m'
|
137
|
-
assert_ref @c2_c3_m, '::C2::C3#m()'
|
138
|
-
assert_ref @c2_c3_m, '::C2::C3#m(*)'
|
139
|
-
end
|
140
|
-
|
141
|
-
def test_resolve_method_equals3
|
142
|
-
m = RDoc::AnyMethod.new '', '==='
|
143
|
-
@c1.add_method m
|
144
|
-
|
145
|
-
assert_ref m, '==='
|
146
|
-
end
|
147
|
-
|
148
|
-
def test_resolve_page
|
149
|
-
page = @store.add_file 'README.txt'
|
150
|
-
page.parser = RDoc::Parser::Simple
|
151
|
-
|
152
|
-
assert_ref page, 'README'
|
153
|
-
end
|
154
|
-
|
155
|
-
def test_resolve_percent
|
156
|
-
i_percent = RDoc::AnyMethod.new nil, '%'
|
157
|
-
i_percent.singleton = false
|
158
|
-
@c1.add_method i_percent
|
159
|
-
|
160
|
-
c_percent = RDoc::AnyMethod.new nil, '%'
|
161
|
-
c_percent.singleton = true
|
162
|
-
@c1.add_method c_percent
|
163
|
-
|
164
|
-
assert_ref i_percent, '%'
|
165
|
-
assert_ref i_percent, '#%'
|
166
|
-
assert_ref c_percent, '::%'
|
167
|
-
|
168
|
-
assert_ref i_percent, 'C1#%'
|
169
|
-
assert_ref c_percent, 'C1::%'
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_resolve_no_ref
|
173
|
-
assert_equal '', @xref.resolve('', '')
|
174
|
-
|
175
|
-
assert_equal "bogus", @xref.resolve("bogus", "bogus")
|
176
|
-
assert_equal "\\bogus", @xref.resolve("\\bogus", "\\bogus")
|
177
|
-
assert_equal "\\\\bogus", @xref.resolve("\\\\bogus", "\\\\bogus")
|
178
|
-
|
179
|
-
assert_equal "\\#n", @xref.resolve("\\#n", "fail")
|
180
|
-
assert_equal "\\#n()", @xref.resolve("\\#n()", "fail")
|
181
|
-
assert_equal "\\#n(*)", @xref.resolve("\\#n(*)", "fail")
|
182
|
-
|
183
|
-
assert_equal "C1", @xref.resolve("\\C1", "fail")
|
184
|
-
assert_equal "::C3", @xref.resolve("\\::C3", "fail")
|
185
|
-
|
186
|
-
assert_equal "succeed", @xref.resolve("::C3::H1#n", "succeed")
|
187
|
-
assert_equal "succeed", @xref.resolve("::C3::H1#n(*)", "succeed")
|
188
|
-
assert_equal "\\::C3::H1#n", @xref.resolve("\\::C3::H1#n", "fail")
|
189
|
-
end
|
190
|
-
|
191
|
-
end
|
192
|
-
|
data/test/test_rdoc_encoding.rb
DELETED
@@ -1,227 +0,0 @@
|
|
1
|
-
# coding: US-ASCII
|
2
|
-
|
3
|
-
require 'rdoc/test_case'
|
4
|
-
|
5
|
-
class TestRDocEncoding < RDoc::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
super
|
9
|
-
|
10
|
-
@tempfile = Tempfile.new 'test_rdoc_encoding'
|
11
|
-
end
|
12
|
-
|
13
|
-
def teardown
|
14
|
-
@tempfile.close!
|
15
|
-
|
16
|
-
super
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_class_read_file
|
20
|
-
@tempfile.write "hi everybody"
|
21
|
-
@tempfile.flush
|
22
|
-
|
23
|
-
assert_equal "hi everybody", RDoc::Encoding.read_file(@tempfile.path, nil)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_class_read_file_encoding
|
27
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
28
|
-
|
29
|
-
expected = "# coding: utf-8\nhi everybody"
|
30
|
-
|
31
|
-
@tempfile.write expected
|
32
|
-
@tempfile.flush
|
33
|
-
|
34
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
35
|
-
assert_equal "hi everybody", contents
|
36
|
-
assert_equal Encoding::UTF_8, contents.encoding
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_class_read_file_encoding_convert
|
40
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
41
|
-
|
42
|
-
content = ""
|
43
|
-
content.encode! 'ISO-8859-1'
|
44
|
-
content << "# coding: ISO-8859-1\nhi \xE9verybody"
|
45
|
-
|
46
|
-
@tempfile.write content
|
47
|
-
@tempfile.flush
|
48
|
-
|
49
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
50
|
-
assert_equal Encoding::UTF_8, contents.encoding
|
51
|
-
assert_equal "hi \u00e9verybody", contents.sub("\r", '')
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_class_read_file_encoding_fail
|
55
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
56
|
-
|
57
|
-
@tempfile.write "# coding: utf-8\n\317\200" # pi
|
58
|
-
@tempfile.flush
|
59
|
-
|
60
|
-
contents = :junk
|
61
|
-
|
62
|
-
_, err = verbose_capture_io do
|
63
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::US_ASCII
|
64
|
-
end
|
65
|
-
|
66
|
-
assert_nil contents
|
67
|
-
|
68
|
-
assert_match %r%^unable to convert%, err
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_class_read_file_encoding_fancy
|
72
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
73
|
-
|
74
|
-
expected = "# -*- coding: utf-8; fill-column: 74 -*-\nhi everybody"
|
75
|
-
expected.encode! Encoding::UTF_8
|
76
|
-
|
77
|
-
@tempfile.write expected
|
78
|
-
@tempfile.flush
|
79
|
-
|
80
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
81
|
-
assert_equal "hi everybody", contents
|
82
|
-
assert_equal Encoding::UTF_8, contents.encoding
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_class_read_file_encoding_force_transcode
|
86
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
87
|
-
|
88
|
-
@tempfile.write "# coding: utf-8\n\317\200" # pi
|
89
|
-
@tempfile.flush
|
90
|
-
|
91
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::US_ASCII, true
|
92
|
-
|
93
|
-
assert_equal '?', contents
|
94
|
-
assert_equal Encoding::US_ASCII, contents.encoding
|
95
|
-
end
|
96
|
-
|
97
|
-
def test_class_read_file_encoding_guess
|
98
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
99
|
-
|
100
|
-
path = File.expand_path '../test.ja.txt', __FILE__
|
101
|
-
content = RDoc::Encoding.read_file path, Encoding::UTF_8
|
102
|
-
|
103
|
-
assert_equal Encoding::UTF_8, content.encoding
|
104
|
-
end
|
105
|
-
|
106
|
-
def test_class_read_file_encoding_invalid
|
107
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
108
|
-
|
109
|
-
@tempfile.write "# coding: ascii\nM\xE4r"
|
110
|
-
@tempfile.flush
|
111
|
-
|
112
|
-
contents = :junk
|
113
|
-
_, err = verbose_capture_io do
|
114
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
115
|
-
end
|
116
|
-
|
117
|
-
assert_equal "unable to convert \"\\xE4\" on US-ASCII for #{@tempfile.path}, skipping\n", err
|
118
|
-
|
119
|
-
assert_nil contents
|
120
|
-
end
|
121
|
-
|
122
|
-
def test_class_read_file_encoding_with_signature
|
123
|
-
skip "Encoding not implemented" unless defined? ::Encoding
|
124
|
-
|
125
|
-
@tempfile.write "\xEF\xBB\xBFhi everybody"
|
126
|
-
@tempfile.flush
|
127
|
-
|
128
|
-
bug3360 = '[ruby-dev:41452]'
|
129
|
-
content = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
130
|
-
assert_equal Encoding::UTF_8, content.encoding, bug3360
|
131
|
-
assert_equal "hi everybody", content, bug3360
|
132
|
-
end
|
133
|
-
|
134
|
-
def test_class_read_file_encoding_iso_2022_jp
|
135
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
136
|
-
|
137
|
-
input = "# coding: ISO-2022-JP\n:\e$B%3%^%s%I\e(B:"
|
138
|
-
|
139
|
-
@tempfile.write input
|
140
|
-
@tempfile.flush
|
141
|
-
|
142
|
-
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
|
143
|
-
|
144
|
-
expected = ":\xe3\x82\xb3\xe3\x83\x9e\xe3\x83\xb3\xe3\x83\x89:"
|
145
|
-
expected.force_encoding Encoding::UTF_8
|
146
|
-
|
147
|
-
assert_equal expected, contents
|
148
|
-
assert_equal Encoding::UTF_8, contents.encoding
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_class_set_encoding
|
152
|
-
s = "# coding: UTF-8\n"
|
153
|
-
RDoc::Encoding.set_encoding s
|
154
|
-
|
155
|
-
# sanity check for 1.8
|
156
|
-
|
157
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
158
|
-
|
159
|
-
assert_equal Encoding::UTF_8, s.encoding
|
160
|
-
|
161
|
-
s = "#!/bin/ruby\n# coding: UTF-8\n"
|
162
|
-
RDoc::Encoding.set_encoding s
|
163
|
-
|
164
|
-
assert_equal Encoding::UTF_8, s.encoding
|
165
|
-
|
166
|
-
s = "<?xml version='1.0' encoding='UTF-8'?>\n"
|
167
|
-
expected = s.encoding
|
168
|
-
RDoc::Encoding.set_encoding s
|
169
|
-
|
170
|
-
assert_equal Encoding::UTF_8, s.encoding
|
171
|
-
|
172
|
-
s = "<?xml version='1.0' encoding=\"UTF-8\"?>\n"
|
173
|
-
expected = s.encoding
|
174
|
-
RDoc::Encoding.set_encoding s
|
175
|
-
|
176
|
-
assert_equal Encoding::UTF_8, s.encoding
|
177
|
-
end
|
178
|
-
|
179
|
-
def test_class_set_encoding_strip
|
180
|
-
s = "# coding: UTF-8\n# more comments"
|
181
|
-
|
182
|
-
RDoc::Encoding.set_encoding s
|
183
|
-
|
184
|
-
assert_equal "# more comments", s
|
185
|
-
|
186
|
-
s = "#!/bin/ruby\n# coding: UTF-8\n# more comments"
|
187
|
-
|
188
|
-
RDoc::Encoding.set_encoding s
|
189
|
-
|
190
|
-
assert_equal "#!/bin/ruby\n# more comments", s
|
191
|
-
end
|
192
|
-
|
193
|
-
def test_class_set_encoding_bad
|
194
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
195
|
-
|
196
|
-
s = ""
|
197
|
-
expected = s.encoding
|
198
|
-
RDoc::Encoding.set_encoding s
|
199
|
-
|
200
|
-
assert_equal expected, s.encoding
|
201
|
-
|
202
|
-
s = "# vim:set fileencoding=utf-8:\n"
|
203
|
-
expected = s.encoding
|
204
|
-
RDoc::Encoding.set_encoding s
|
205
|
-
|
206
|
-
assert_equal expected, s.encoding
|
207
|
-
|
208
|
-
s = "# vim:set fileencoding=utf-8:\n"
|
209
|
-
expected = s.encoding
|
210
|
-
RDoc::Encoding.set_encoding s
|
211
|
-
|
212
|
-
assert_equal expected, s.encoding
|
213
|
-
|
214
|
-
assert_raises ArgumentError do
|
215
|
-
RDoc::Encoding.set_encoding "# -*- encoding: undecided -*-\n"
|
216
|
-
end
|
217
|
-
end
|
218
|
-
|
219
|
-
def test_sanity
|
220
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
221
|
-
|
222
|
-
assert_equal Encoding::US_ASCII, ''.encoding,
|
223
|
-
'If this file is not ASCII tests may incorrectly pass'
|
224
|
-
end
|
225
|
-
|
226
|
-
end
|
227
|
-
|