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,115 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocParserSimple < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@tempfile = Tempfile.new self.class.name
|
9
|
-
filename = @tempfile.path
|
10
|
-
|
11
|
-
@top_level = @store.add_file filename
|
12
|
-
@fn = filename
|
13
|
-
@options = RDoc::Options.new
|
14
|
-
@stats = RDoc::Stats.new @store, 0
|
15
|
-
end
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
super
|
19
|
-
|
20
|
-
@tempfile.close!
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_initialize_metadata
|
24
|
-
parser = util_parser ":unhandled: \n"
|
25
|
-
|
26
|
-
assert_includes @top_level.metadata, 'unhandled'
|
27
|
-
|
28
|
-
assert_equal ":unhandled: \n", parser.content
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_remove_coding_comment
|
32
|
-
parser = util_parser <<-TEXT
|
33
|
-
# -*- mode: rdoc; coding: utf-8; fill-column: 74; -*-
|
34
|
-
|
35
|
-
Regular expressions (<i>regexp</i>s) are patterns which describe the
|
36
|
-
contents of a string.
|
37
|
-
TEXT
|
38
|
-
|
39
|
-
parser.scan
|
40
|
-
|
41
|
-
expected = <<-TEXT.strip
|
42
|
-
Regular expressions (<i>regexp</i>s) are patterns which describe the
|
43
|
-
contents of a string.
|
44
|
-
TEXT
|
45
|
-
|
46
|
-
assert_equal expected, @top_level.comment.text
|
47
|
-
end
|
48
|
-
|
49
|
-
# RDoc stops processing comments if it finds a comment line CONTAINING
|
50
|
-
# '<tt>#--</tt>'. This can be used to separate external from internal
|
51
|
-
# comments, or to stop a comment being associated with a method,
|
52
|
-
# class, or module. Commenting CAN be turned back on with
|
53
|
-
# a line that STARTS '<tt>#++</tt>'.
|
54
|
-
#
|
55
|
-
# I've seen guys that comment their code like this:
|
56
|
-
# # This method....
|
57
|
-
# #-----------------
|
58
|
-
# def method
|
59
|
-
#
|
60
|
-
# => either we do it only in ruby code, or we require the leading #
|
61
|
-
# (to avoid conflict with rules).
|
62
|
-
#
|
63
|
-
# TODO: require the leading #, to provide the feature in simple text files.
|
64
|
-
# Note: in ruby & C code, we require '#--' & '#++' or '*--' & '*++',
|
65
|
-
# to allow rules:
|
66
|
-
#
|
67
|
-
# # this is a comment
|
68
|
-
# #---
|
69
|
-
# # private text
|
70
|
-
# #+++
|
71
|
-
# # this is a rule:
|
72
|
-
# # ---
|
73
|
-
|
74
|
-
def test_remove_private_comments
|
75
|
-
parser = util_parser "foo\n\n--\nbar\n++\n\nbaz\n"
|
76
|
-
|
77
|
-
parser.scan
|
78
|
-
|
79
|
-
expected = "foo\n\n\nbaz"
|
80
|
-
|
81
|
-
assert_equal expected, @top_level.comment.text
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_remove_private_comments_rule
|
85
|
-
parser = util_parser "foo\n---\nbar"
|
86
|
-
|
87
|
-
parser.scan
|
88
|
-
|
89
|
-
expected = "foo\n---\nbar"
|
90
|
-
|
91
|
-
assert_equal expected, @top_level.comment.text
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_remove_private_comments_star
|
95
|
-
parser = util_parser "* foo\n* bar\n"
|
96
|
-
|
97
|
-
parser.scan
|
98
|
-
|
99
|
-
assert_equal "* foo\n* bar", @top_level.comment.text
|
100
|
-
end
|
101
|
-
|
102
|
-
def test_scan
|
103
|
-
parser = util_parser 'it *really* works'
|
104
|
-
|
105
|
-
parser.scan
|
106
|
-
|
107
|
-
assert_equal 'it *really* works', @top_level.comment.text
|
108
|
-
end
|
109
|
-
|
110
|
-
def util_parser(content)
|
111
|
-
RDoc::Parser::Simple.new @top_level, @fn, content, @options, @stats
|
112
|
-
end
|
113
|
-
|
114
|
-
end
|
115
|
-
|
data/test/test_rdoc_rd.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocRd < RDoc::TestCase
|
4
|
-
|
5
|
-
def test_class_parse
|
6
|
-
expected =
|
7
|
-
@RM::Document.new(
|
8
|
-
@RM::Paragraph.new('hello'))
|
9
|
-
|
10
|
-
assert_equal expected, RDoc::RD.parse("hello")
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_class_parse_begin_end
|
14
|
-
expected =
|
15
|
-
@RM::Document.new(
|
16
|
-
@RM::Paragraph.new('hello'))
|
17
|
-
|
18
|
-
assert_equal expected, RDoc::RD.parse("=begin\nhello\n=end\n")
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_class_parse_newline
|
22
|
-
expected =
|
23
|
-
@RM::Document.new(
|
24
|
-
@RM::Paragraph.new('hello'))
|
25
|
-
|
26
|
-
assert_equal expected, RDoc::RD.parse("hello\n")
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
@@ -1,535 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocRdBlockParser < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@block_parser = RDoc::RD::BlockParser.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_add_footnote
|
12
|
-
index = @block_parser.add_footnote 'context'
|
13
|
-
|
14
|
-
assert_equal 1, index
|
15
|
-
|
16
|
-
expected = [
|
17
|
-
para('{^1}[rdoc-label:footmark-1:foottext-1]', ' ', 'context'),
|
18
|
-
blank_line,
|
19
|
-
]
|
20
|
-
|
21
|
-
assert_equal expected, @block_parser.footnotes
|
22
|
-
|
23
|
-
index = @block_parser.add_footnote 'other'
|
24
|
-
|
25
|
-
assert_equal 2, index
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_parse_desclist
|
29
|
-
list = <<-LIST
|
30
|
-
:one
|
31
|
-
desc one
|
32
|
-
:two
|
33
|
-
desc two
|
34
|
-
LIST
|
35
|
-
|
36
|
-
expected =
|
37
|
-
doc(
|
38
|
-
list(:NOTE,
|
39
|
-
item("one", para("desc one")),
|
40
|
-
item("two", para("desc two"))))
|
41
|
-
|
42
|
-
assert_equal expected, parse(list)
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_parse_enumlist
|
46
|
-
list = <<-LIST
|
47
|
-
(1) one
|
48
|
-
(1) two
|
49
|
-
LIST
|
50
|
-
|
51
|
-
expected =
|
52
|
-
doc(
|
53
|
-
list(:NUMBER,
|
54
|
-
item(nil, para("one")),
|
55
|
-
item(nil, para("two"))))
|
56
|
-
|
57
|
-
assert_equal expected, parse(list)
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_parse_enumlist_paragraphs
|
61
|
-
list = <<-LIST
|
62
|
-
(1) one
|
63
|
-
|
64
|
-
two
|
65
|
-
LIST
|
66
|
-
|
67
|
-
expected =
|
68
|
-
doc(
|
69
|
-
list(:NUMBER,
|
70
|
-
item(nil,
|
71
|
-
para("one"),
|
72
|
-
para("two"))))
|
73
|
-
|
74
|
-
assert_equal expected, parse(list)
|
75
|
-
end
|
76
|
-
|
77
|
-
def test_parse_enumlist_multiline
|
78
|
-
list = <<-LIST
|
79
|
-
(1) one
|
80
|
-
two
|
81
|
-
LIST
|
82
|
-
|
83
|
-
contents = "one\n two" # 1.8 vs 1.9
|
84
|
-
|
85
|
-
expected =
|
86
|
-
doc(
|
87
|
-
list(:NUMBER,
|
88
|
-
item(nil, para(*contents))))
|
89
|
-
|
90
|
-
assert_equal expected, parse(list)
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_parse_enumlist_verbatim
|
94
|
-
list = <<-LIST
|
95
|
-
(1) item
|
96
|
-
verbatim
|
97
|
-
LIST
|
98
|
-
|
99
|
-
expected =
|
100
|
-
doc(
|
101
|
-
list(:NUMBER,
|
102
|
-
item(nil,
|
103
|
-
para("item"),
|
104
|
-
verb("verbatim\n"))))
|
105
|
-
|
106
|
-
assert_equal expected, parse(list)
|
107
|
-
end
|
108
|
-
|
109
|
-
def test_parse_enumlist_verbatim_continue
|
110
|
-
list = <<-LIST
|
111
|
-
(1) one
|
112
|
-
verbatim
|
113
|
-
two
|
114
|
-
LIST
|
115
|
-
|
116
|
-
expected =
|
117
|
-
doc(
|
118
|
-
list(:NUMBER,
|
119
|
-
item(nil,
|
120
|
-
para("one"),
|
121
|
-
verb("verbatim\n"),
|
122
|
-
para("two"))))
|
123
|
-
|
124
|
-
assert_equal expected, parse(list)
|
125
|
-
end
|
126
|
-
|
127
|
-
def test_parse_footnote
|
128
|
-
expected =
|
129
|
-
doc(
|
130
|
-
para("{*1}[rdoc-label:foottext-1:footmark-1]"),
|
131
|
-
rule(1),
|
132
|
-
para("{^1}[rdoc-label:footmark-1:foottext-1]", " ", "text"),
|
133
|
-
blank_line)
|
134
|
-
|
135
|
-
assert_equal expected, parse("((-text-))")
|
136
|
-
end
|
137
|
-
|
138
|
-
def test_parse_include
|
139
|
-
@block_parser.include_path = [Dir.tmpdir]
|
140
|
-
|
141
|
-
expected = doc(@RM::Include.new("parse_include", [Dir.tmpdir]))
|
142
|
-
|
143
|
-
assert_equal expected, parse("<<< parse_include")
|
144
|
-
end
|
145
|
-
|
146
|
-
def test_parse_include_subtree
|
147
|
-
@block_parser.include_path = [Dir.tmpdir]
|
148
|
-
|
149
|
-
expected =
|
150
|
-
doc(
|
151
|
-
blank_line,
|
152
|
-
para("include <em>worked</em>"),
|
153
|
-
blank_line,
|
154
|
-
blank_line)
|
155
|
-
|
156
|
-
tf = Tempfile.open %w[parse_include .rd] do |io|
|
157
|
-
io.puts "=begin\ninclude ((*worked*))\n=end"
|
158
|
-
io.flush
|
159
|
-
|
160
|
-
str = <<-STR
|
161
|
-
<<< #{File.basename io.path}
|
162
|
-
STR
|
163
|
-
|
164
|
-
assert_equal expected, parse(str)
|
165
|
-
io
|
166
|
-
end
|
167
|
-
tf.close! if tf.respond_to? :close!
|
168
|
-
end
|
169
|
-
|
170
|
-
def test_parse_heading
|
171
|
-
assert_equal doc(head(1, "H")), parse("= H")
|
172
|
-
assert_equal doc(head(2, "H")), parse("== H")
|
173
|
-
assert_equal doc(head(3, "H")), parse("=== H")
|
174
|
-
assert_equal doc(head(4, "H")), parse("==== H")
|
175
|
-
assert_equal doc(head(5, "H")), parse("+ H")
|
176
|
-
assert_equal doc(head(6, "H")), parse("++ H")
|
177
|
-
end
|
178
|
-
|
179
|
-
def test_parse_itemlist
|
180
|
-
list = <<-LIST
|
181
|
-
* one
|
182
|
-
* two
|
183
|
-
LIST
|
184
|
-
|
185
|
-
expected =
|
186
|
-
doc(
|
187
|
-
list(:BULLET,
|
188
|
-
item(nil, para("one")),
|
189
|
-
item(nil, para("two"))))
|
190
|
-
|
191
|
-
assert_equal expected, parse(list)
|
192
|
-
end
|
193
|
-
|
194
|
-
def test_parse_itemlist_multiline
|
195
|
-
list = <<-LIST
|
196
|
-
* one
|
197
|
-
two
|
198
|
-
LIST
|
199
|
-
|
200
|
-
contents = "one\n two" # 1.8 vs 1.9
|
201
|
-
|
202
|
-
expected =
|
203
|
-
doc(
|
204
|
-
list(:BULLET,
|
205
|
-
item(nil, para(*contents))))
|
206
|
-
|
207
|
-
assert_equal expected, parse(list)
|
208
|
-
end
|
209
|
-
|
210
|
-
def test_parse_itemlist_nest
|
211
|
-
list = <<-LIST
|
212
|
-
* one
|
213
|
-
* inner
|
214
|
-
* two
|
215
|
-
LIST
|
216
|
-
|
217
|
-
expected =
|
218
|
-
doc(
|
219
|
-
list(:BULLET,
|
220
|
-
item(nil,
|
221
|
-
para("one"),
|
222
|
-
list(:BULLET,
|
223
|
-
item(nil, para("inner")))),
|
224
|
-
item(nil,
|
225
|
-
para("two"))))
|
226
|
-
|
227
|
-
assert_equal expected, parse(list)
|
228
|
-
end
|
229
|
-
|
230
|
-
def test_parse_itemlist_paragraphs
|
231
|
-
list = <<-LIST
|
232
|
-
* one
|
233
|
-
|
234
|
-
two
|
235
|
-
LIST
|
236
|
-
|
237
|
-
expected =
|
238
|
-
doc(
|
239
|
-
list(:BULLET,
|
240
|
-
item(nil,
|
241
|
-
para("one"),
|
242
|
-
para("two"))))
|
243
|
-
|
244
|
-
assert_equal expected, parse(list)
|
245
|
-
end
|
246
|
-
|
247
|
-
def test_parse_itemlist_verbatim
|
248
|
-
list = <<-LIST
|
249
|
-
* item
|
250
|
-
verbatim
|
251
|
-
LIST
|
252
|
-
|
253
|
-
expected =
|
254
|
-
doc(
|
255
|
-
list(:BULLET,
|
256
|
-
item(nil,
|
257
|
-
para("item"),
|
258
|
-
verb("verbatim\n"))))
|
259
|
-
|
260
|
-
assert_equal expected, parse(list)
|
261
|
-
end
|
262
|
-
|
263
|
-
def test_parse_itemlist_verbatim_continue
|
264
|
-
list = <<-LIST
|
265
|
-
* one
|
266
|
-
verbatim
|
267
|
-
two
|
268
|
-
LIST
|
269
|
-
|
270
|
-
expected =
|
271
|
-
doc(
|
272
|
-
list(:BULLET,
|
273
|
-
item(nil,
|
274
|
-
para("one"),
|
275
|
-
verb("verbatim\n"),
|
276
|
-
para("two"))))
|
277
|
-
|
278
|
-
assert_equal expected, parse(list)
|
279
|
-
end
|
280
|
-
|
281
|
-
def test_parse_lists
|
282
|
-
list = <<-LIST
|
283
|
-
(1) one
|
284
|
-
(1) two
|
285
|
-
* three
|
286
|
-
* four
|
287
|
-
(1) five
|
288
|
-
(1) six
|
289
|
-
LIST
|
290
|
-
|
291
|
-
expected =
|
292
|
-
doc(
|
293
|
-
list(:NUMBER,
|
294
|
-
item(nil, para("one")),
|
295
|
-
item(nil, para("two"))),
|
296
|
-
list(:BULLET,
|
297
|
-
item(nil, para("three")),
|
298
|
-
item(nil, para("four"))),
|
299
|
-
list(:NUMBER,
|
300
|
-
item(nil, para("five")),
|
301
|
-
item(nil, para("six"))))
|
302
|
-
|
303
|
-
assert_equal expected, parse(list)
|
304
|
-
end
|
305
|
-
|
306
|
-
def test_parse_lists_nest
|
307
|
-
list = <<-LIST
|
308
|
-
(1) one
|
309
|
-
(1) two
|
310
|
-
* three
|
311
|
-
* four
|
312
|
-
(1) five
|
313
|
-
(1) six
|
314
|
-
LIST
|
315
|
-
|
316
|
-
expected =
|
317
|
-
doc(
|
318
|
-
list(:NUMBER,
|
319
|
-
item(nil, para("one")),
|
320
|
-
item(nil,
|
321
|
-
para("two"),
|
322
|
-
list(:BULLET,
|
323
|
-
item(nil, para("three")),
|
324
|
-
item(nil, para("four")))),
|
325
|
-
item(nil, para("five")),
|
326
|
-
item(nil, para("six"))))
|
327
|
-
|
328
|
-
assert_equal expected, parse(list)
|
329
|
-
end
|
330
|
-
|
331
|
-
def test_parse_lists_nest_verbatim
|
332
|
-
list = <<-LIST
|
333
|
-
(1) one
|
334
|
-
(1) two
|
335
|
-
* three
|
336
|
-
* four
|
337
|
-
verbatim
|
338
|
-
(1) five
|
339
|
-
(1) six
|
340
|
-
LIST
|
341
|
-
|
342
|
-
expected =
|
343
|
-
doc(
|
344
|
-
list(:NUMBER,
|
345
|
-
item(nil, para("one")),
|
346
|
-
item(nil,
|
347
|
-
para("two"),
|
348
|
-
list(:BULLET,
|
349
|
-
item(nil, para("three")),
|
350
|
-
item(nil, para("four"))),
|
351
|
-
verb("verbatim\n")),
|
352
|
-
item(nil, para("five")),
|
353
|
-
item(nil, para("six"))))
|
354
|
-
|
355
|
-
assert_equal expected, parse(list)
|
356
|
-
end
|
357
|
-
|
358
|
-
def test_parse_lists_nest_verbatim2
|
359
|
-
list = <<-LIST
|
360
|
-
(1) one
|
361
|
-
(1) two
|
362
|
-
* three
|
363
|
-
* four
|
364
|
-
verbatim
|
365
|
-
(1) five
|
366
|
-
(1) six
|
367
|
-
LIST
|
368
|
-
|
369
|
-
expected =
|
370
|
-
doc(
|
371
|
-
list(:NUMBER,
|
372
|
-
item(nil, para("one")),
|
373
|
-
item(nil,
|
374
|
-
para("two"),
|
375
|
-
list(:BULLET,
|
376
|
-
item(nil, para("three")),
|
377
|
-
item(nil, para("four"))),
|
378
|
-
verb("verbatim\n")),
|
379
|
-
item(nil, para("five")),
|
380
|
-
item(nil, para("six"))))
|
381
|
-
|
382
|
-
assert_equal expected, parse(list)
|
383
|
-
end
|
384
|
-
|
385
|
-
def test_parse_methodlist
|
386
|
-
list = <<-LIST
|
387
|
-
--- Array#each {|i| ... }
|
388
|
-
yield block for each item.
|
389
|
-
--- Array#index(val)
|
390
|
-
return index of first item which equals with val. if it hasn't
|
391
|
-
same item, return nil.
|
392
|
-
LIST
|
393
|
-
|
394
|
-
expected =
|
395
|
-
doc(
|
396
|
-
list(:LABEL,
|
397
|
-
item(
|
398
|
-
"<tt>Array#each {|i| ... }</tt>",
|
399
|
-
para("yield block for each item.")),
|
400
|
-
item(
|
401
|
-
"<tt>Array#index(val)</tt>",
|
402
|
-
para("return index of first item which equals with val. if it hasn't same item, return nil."))))
|
403
|
-
|
404
|
-
assert_equal expected, parse(list)
|
405
|
-
end
|
406
|
-
|
407
|
-
def test_parse_methodlist_empty
|
408
|
-
list = <<-LIST
|
409
|
-
--- A#b
|
410
|
-
|
411
|
-
LIST
|
412
|
-
|
413
|
-
expected =
|
414
|
-
doc(
|
415
|
-
list(:LABEL,
|
416
|
-
item("<tt>A#b</tt>")))
|
417
|
-
|
418
|
-
assert_equal expected, parse(list)
|
419
|
-
end
|
420
|
-
|
421
|
-
def test_parse_methodlist_paragraph
|
422
|
-
list = <<-LIST
|
423
|
-
--- A#b
|
424
|
-
|
425
|
-
one
|
426
|
-
LIST
|
427
|
-
|
428
|
-
expected =
|
429
|
-
doc(
|
430
|
-
list(:LABEL,
|
431
|
-
item(
|
432
|
-
"<tt>A#b</tt>",
|
433
|
-
para("one"))))
|
434
|
-
|
435
|
-
assert_equal expected, parse(list)
|
436
|
-
end
|
437
|
-
|
438
|
-
def test_parse_methodlist_paragraph2
|
439
|
-
list = <<-LIST.chomp
|
440
|
-
--- A#b
|
441
|
-
|
442
|
-
one
|
443
|
-
two
|
444
|
-
LIST
|
445
|
-
|
446
|
-
expected =
|
447
|
-
doc(
|
448
|
-
list(:LABEL,
|
449
|
-
item(
|
450
|
-
"<tt>A#b</tt>",
|
451
|
-
para("one"))),
|
452
|
-
para("two"))
|
453
|
-
|
454
|
-
assert_equal expected, parse(list)
|
455
|
-
end
|
456
|
-
|
457
|
-
def test_parse_methodlist_paragraph_verbatim
|
458
|
-
list = <<-LIST.chomp
|
459
|
-
--- A#b
|
460
|
-
|
461
|
-
text
|
462
|
-
verbatim
|
463
|
-
LIST
|
464
|
-
|
465
|
-
expected =
|
466
|
-
doc(
|
467
|
-
list(:LABEL,
|
468
|
-
item(
|
469
|
-
"<tt>A#b</tt>",
|
470
|
-
para("text"),
|
471
|
-
verb("verbatim\n"))))
|
472
|
-
|
473
|
-
assert_equal expected, parse(list)
|
474
|
-
end
|
475
|
-
|
476
|
-
def test_parse_verbatim
|
477
|
-
assert_equal doc(verb("verbatim\n")), parse(" verbatim")
|
478
|
-
end
|
479
|
-
|
480
|
-
def test_parse_verbatim_blankline
|
481
|
-
expected = doc(verb("one\n", "\n", "two\n"))
|
482
|
-
|
483
|
-
verbatim = <<-VERBATIM
|
484
|
-
one
|
485
|
-
|
486
|
-
two
|
487
|
-
VERBATIM
|
488
|
-
|
489
|
-
assert_equal expected, parse(verbatim)
|
490
|
-
end
|
491
|
-
|
492
|
-
def test_parse_verbatim_indent
|
493
|
-
expected = doc(verb("one\n", " two\n"))
|
494
|
-
|
495
|
-
verbatim = <<-VERBATIM
|
496
|
-
one
|
497
|
-
two
|
498
|
-
VERBATIM
|
499
|
-
|
500
|
-
assert_equal expected, parse(verbatim)
|
501
|
-
end
|
502
|
-
|
503
|
-
def test_parse_verbatim_multi
|
504
|
-
expected = doc(verb("one\n", "two\n"))
|
505
|
-
|
506
|
-
verbatim = <<-VERBATIM
|
507
|
-
one
|
508
|
-
two
|
509
|
-
VERBATIM
|
510
|
-
|
511
|
-
assert_equal expected, parse(verbatim)
|
512
|
-
end
|
513
|
-
|
514
|
-
def test_parse_textblock
|
515
|
-
assert_equal doc(para("text")), parse("text")
|
516
|
-
end
|
517
|
-
|
518
|
-
def test_parse_textblock_multi
|
519
|
-
expected = doc(para("one two"))
|
520
|
-
|
521
|
-
assert_equal expected, parse("one\ntwo")
|
522
|
-
end
|
523
|
-
|
524
|
-
def parse text
|
525
|
-
text = ["=begin", text, "=end"].join "\n"
|
526
|
-
|
527
|
-
doc = @block_parser.parse text.lines.to_a
|
528
|
-
|
529
|
-
assert_equal blank_line, doc.parts.shift, "=begin blankline"
|
530
|
-
assert_equal blank_line, doc.parts.pop, "=end blankline"
|
531
|
-
|
532
|
-
doc
|
533
|
-
end
|
534
|
-
|
535
|
-
end
|