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_markup.rb
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocMarkup < RDoc::TestCase
|
4
|
-
|
5
|
-
def test_class_parse
|
6
|
-
expected = @RM::Document.new(
|
7
|
-
@RM::Paragraph.new('hello'))
|
8
|
-
|
9
|
-
assert_equal expected, RDoc::Markup.parse('hello')
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_convert
|
13
|
-
str = <<-STR
|
14
|
-
now is
|
15
|
-
the time
|
16
|
-
|
17
|
-
hello
|
18
|
-
dave
|
19
|
-
|
20
|
-
1. l1
|
21
|
-
2. l2
|
22
|
-
STR
|
23
|
-
|
24
|
-
m = RDoc::Markup.new
|
25
|
-
|
26
|
-
tt = RDoc::Markup::ToTest.new m
|
27
|
-
|
28
|
-
out = m.convert str, tt
|
29
|
-
|
30
|
-
expected = [
|
31
|
-
"now is the time",
|
32
|
-
"\n",
|
33
|
-
" hello\n dave\n",
|
34
|
-
"1: ",
|
35
|
-
"l1",
|
36
|
-
"1: ",
|
37
|
-
"l2",
|
38
|
-
]
|
39
|
-
|
40
|
-
assert_equal expected, out
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_convert_custom_markup
|
44
|
-
str = <<-STR
|
45
|
-
{stricken}
|
46
|
-
STR
|
47
|
-
|
48
|
-
m = RDoc::Markup.new
|
49
|
-
m.add_word_pair '{', '}', :STRIKE
|
50
|
-
|
51
|
-
tt = RDoc::Markup::ToTest.new nil, m
|
52
|
-
tt.add_tag :STRIKE, 'STRIKE ', ' STRIKE'
|
53
|
-
|
54
|
-
out = m.convert str, tt
|
55
|
-
|
56
|
-
expected = [
|
57
|
-
"STRIKE stricken STRIKE",
|
58
|
-
]
|
59
|
-
|
60
|
-
assert_equal expected, out
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_convert_document
|
64
|
-
doc = RDoc::Markup::Parser.parse <<-STR
|
65
|
-
now is
|
66
|
-
the time
|
67
|
-
|
68
|
-
hello
|
69
|
-
dave
|
70
|
-
|
71
|
-
1. l1
|
72
|
-
2. l2
|
73
|
-
STR
|
74
|
-
|
75
|
-
m = RDoc::Markup.new
|
76
|
-
|
77
|
-
tt = RDoc::Markup::ToTest.new m
|
78
|
-
|
79
|
-
out = m.convert doc, tt
|
80
|
-
|
81
|
-
expected = [
|
82
|
-
"now is the time",
|
83
|
-
"\n",
|
84
|
-
" hello\n dave\n",
|
85
|
-
"1: ",
|
86
|
-
"l1",
|
87
|
-
"1: ",
|
88
|
-
"l2",
|
89
|
-
]
|
90
|
-
|
91
|
-
assert_equal expected, out
|
92
|
-
end
|
93
|
-
|
94
|
-
end
|
95
|
-
|
@@ -1,364 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocMarkupAttributeManager < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@am = RDoc::Markup::AttributeManager.new
|
9
|
-
|
10
|
-
@bold_on = @am.changed_attribute_by_name([], [:BOLD])
|
11
|
-
@bold_off = @am.changed_attribute_by_name([:BOLD], [])
|
12
|
-
|
13
|
-
@tt_on = @am.changed_attribute_by_name([], [:TT])
|
14
|
-
@tt_off = @am.changed_attribute_by_name([:TT], [])
|
15
|
-
|
16
|
-
@em_on = @am.changed_attribute_by_name([], [:EM])
|
17
|
-
@em_off = @am.changed_attribute_by_name([:EM], [])
|
18
|
-
|
19
|
-
@bold_em_on = @am.changed_attribute_by_name([], [:BOLD] | [:EM])
|
20
|
-
@bold_em_off = @am.changed_attribute_by_name([:BOLD] | [:EM], [])
|
21
|
-
|
22
|
-
@em_then_bold = @am.changed_attribute_by_name([:EM], [:EM] | [:BOLD])
|
23
|
-
|
24
|
-
@em_to_bold = @am.changed_attribute_by_name([:EM], [:BOLD])
|
25
|
-
|
26
|
-
@am.add_word_pair("{", "}", :WOMBAT)
|
27
|
-
@wombat_on = @am.changed_attribute_by_name([], [:WOMBAT])
|
28
|
-
@wombat_off = @am.changed_attribute_by_name([:WOMBAT], [])
|
29
|
-
|
30
|
-
@klass = RDoc::Markup::AttributeManager
|
31
|
-
@formatter = RDoc::Markup::Formatter.new @rdoc.options
|
32
|
-
@formatter.add_tag :BOLD, '<B>', '</B>'
|
33
|
-
@formatter.add_tag :EM, '<EM>', '</EM>'
|
34
|
-
@formatter.add_tag :TT, '<CODE>', '</CODE>'
|
35
|
-
end
|
36
|
-
|
37
|
-
def crossref(text)
|
38
|
-
crossref_bitmap = @am.attributes.bitmap_for(:_SPECIAL_) |
|
39
|
-
@am.attributes.bitmap_for(:CROSSREF)
|
40
|
-
|
41
|
-
[ @am.changed_attribute_by_name([], [:CROSSREF, :_SPECIAL_]),
|
42
|
-
RDoc::Markup::Special.new(crossref_bitmap, text),
|
43
|
-
@am.changed_attribute_by_name([:CROSSREF, :_SPECIAL_], [])
|
44
|
-
]
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_adding
|
48
|
-
assert_equal(["cat ", @wombat_on, "and", @wombat_off, " dog" ],
|
49
|
-
@am.flow("cat {and} dog"))
|
50
|
-
#assert_equal(["cat {and} dog" ], @am.flow("cat \\{and} dog"))
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_add_html_tag
|
54
|
-
@am.add_html("Test", :TEST)
|
55
|
-
tags = @am.html_tags
|
56
|
-
assert_equal(6, tags.size)
|
57
|
-
assert(tags.has_key?("test"))
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_add_special
|
61
|
-
@am.add_special "WikiWord", :WIKIWORD
|
62
|
-
specials = @am.special
|
63
|
-
|
64
|
-
assert_equal 1, specials.size
|
65
|
-
assert specials.assoc "WikiWord"
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_add_word_pair
|
69
|
-
@am.add_word_pair '%', '&', 'percent and'
|
70
|
-
|
71
|
-
assert @am.word_pair_map.include?(/(%)(\S+)(&)/)
|
72
|
-
assert @am.protectable.include?('%')
|
73
|
-
assert !@am.protectable.include?('&')
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_add_word_pair_angle
|
77
|
-
e = assert_raises ArgumentError do
|
78
|
-
@am.add_word_pair '<', '>', 'angles'
|
79
|
-
end
|
80
|
-
|
81
|
-
assert_equal "Word flags may not start with '<'", e.message
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_add_word_pair_invalid
|
85
|
-
assert_raises ArgumentError do
|
86
|
-
@am.add_word_pair("<", "<", :TEST)
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_add_word_pair_map
|
91
|
-
@am.add_word_pair("x", "y", :TEST)
|
92
|
-
|
93
|
-
word_pair_map = @am.word_pair_map
|
94
|
-
|
95
|
-
assert_includes word_pair_map.keys.map { |r| r.source }, "(x)(\\S+)(y)"
|
96
|
-
end
|
97
|
-
|
98
|
-
def test_add_word_pair_matching
|
99
|
-
@am.add_word_pair '^', '^', 'caret'
|
100
|
-
|
101
|
-
assert @am.matching_word_pairs.include?('^')
|
102
|
-
assert @am.protectable.include?('^')
|
103
|
-
end
|
104
|
-
|
105
|
-
def test_basic
|
106
|
-
assert_equal(["cat"], @am.flow("cat"))
|
107
|
-
|
108
|
-
assert_equal(["cat ", @bold_on, "and", @bold_off, " dog"],
|
109
|
-
@am.flow("cat *and* dog"))
|
110
|
-
|
111
|
-
assert_equal(["cat ", @bold_on, "AND", @bold_off, " dog"],
|
112
|
-
@am.flow("cat *AND* dog"))
|
113
|
-
|
114
|
-
assert_equal(["cat ", @em_on, "And", @em_off, " dog"],
|
115
|
-
@am.flow("cat _And_ dog"))
|
116
|
-
|
117
|
-
assert_equal(["cat *and dog*"], @am.flow("cat *and dog*"))
|
118
|
-
|
119
|
-
assert_equal(["*cat and* dog"], @am.flow("*cat and* dog"))
|
120
|
-
|
121
|
-
assert_equal(["cat *and ", @bold_on, "dog", @bold_off],
|
122
|
-
@am.flow("cat *and *dog*"))
|
123
|
-
|
124
|
-
assert_equal(["cat ", @em_on, "and", @em_off, " dog"],
|
125
|
-
@am.flow("cat _and_ dog"))
|
126
|
-
|
127
|
-
assert_equal(["cat_and_dog"],
|
128
|
-
@am.flow("cat_and_dog"))
|
129
|
-
|
130
|
-
assert_equal(["cat ", @tt_on, "and", @tt_off, " dog"],
|
131
|
-
@am.flow("cat +and+ dog"))
|
132
|
-
|
133
|
-
assert_equal(["cat ", @tt_on, "X::Y", @tt_off, " dog"],
|
134
|
-
@am.flow("cat +X::Y+ dog"))
|
135
|
-
|
136
|
-
assert_equal(["cat ", @bold_on, "a_b_c", @bold_off, " dog"],
|
137
|
-
@am.flow("cat *a_b_c* dog"))
|
138
|
-
|
139
|
-
assert_equal(["cat __ dog"],
|
140
|
-
@am.flow("cat __ dog"))
|
141
|
-
|
142
|
-
assert_equal(["cat ", @em_on, "_", @em_off, " dog"],
|
143
|
-
@am.flow("cat ___ dog"))
|
144
|
-
|
145
|
-
assert_equal(["cat and ", @em_on, "5", @em_off, " dogs"],
|
146
|
-
@am.flow("cat and _5_ dogs"))
|
147
|
-
end
|
148
|
-
|
149
|
-
def test_bold
|
150
|
-
assert_equal [@bold_on, 'bold', @bold_off],
|
151
|
-
@am.flow("*bold*")
|
152
|
-
|
153
|
-
assert_equal [@bold_on, 'Bold:', @bold_off],
|
154
|
-
@am.flow("*Bold:*")
|
155
|
-
|
156
|
-
assert_equal [@bold_on, '\\bold', @bold_off],
|
157
|
-
@am.flow("*\\bold*")
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_bold_html_escaped
|
161
|
-
assert_equal ['cat <b>dog</b>'], @am.flow('cat \<b>dog</b>')
|
162
|
-
end
|
163
|
-
|
164
|
-
def test_combined
|
165
|
-
assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
|
166
|
-
@am.flow("cat _and_ *dog*"))
|
167
|
-
|
168
|
-
assert_equal(["cat ", @em_on, "a__nd", @em_off, " ", @bold_on, "dog", @bold_off],
|
169
|
-
@am.flow("cat _a__nd_ *dog*"))
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_convert_attrs
|
173
|
-
str = '+foo+'
|
174
|
-
attrs = RDoc::Markup::AttrSpan.new str.length
|
175
|
-
|
176
|
-
@am.convert_attrs str, attrs
|
177
|
-
|
178
|
-
assert_equal "\000foo\000", str
|
179
|
-
|
180
|
-
str = '+:foo:+'
|
181
|
-
attrs = RDoc::Markup::AttrSpan.new str.length
|
182
|
-
|
183
|
-
@am.convert_attrs str, attrs
|
184
|
-
|
185
|
-
assert_equal "\000:foo:\000", str
|
186
|
-
|
187
|
-
str = '+x-y+'
|
188
|
-
attrs = RDoc::Markup::AttrSpan.new str.length
|
189
|
-
|
190
|
-
@am.convert_attrs str, attrs
|
191
|
-
|
192
|
-
assert_equal "\000x-y\000", str
|
193
|
-
end
|
194
|
-
|
195
|
-
def test_convert_attrs_ignores_code
|
196
|
-
assert_equal 'foo <CODE>__send__</CODE> bar', output('foo <code>__send__</code> bar')
|
197
|
-
end
|
198
|
-
|
199
|
-
def test_convert_attrs_ignores_tt
|
200
|
-
assert_equal 'foo <CODE>__send__</CODE> bar', output('foo <tt>__send__</tt> bar')
|
201
|
-
end
|
202
|
-
|
203
|
-
def test_convert_attrs_preserves_double
|
204
|
-
assert_equal 'foo.__send__ :bar', output('foo.__send__ :bar')
|
205
|
-
assert_equal 'use __FILE__ to', output('use __FILE__ to')
|
206
|
-
end
|
207
|
-
|
208
|
-
def test_convert_attrs_does_not_ignore_after_tt
|
209
|
-
assert_equal 'the <CODE>IF:</CODE><EM>key</EM> directive', output('the <tt>IF:</tt>_key_ directive')
|
210
|
-
end
|
211
|
-
|
212
|
-
def test_escapes
|
213
|
-
assert_equal '<CODE>text</CODE>', output('<tt>text</tt>')
|
214
|
-
assert_equal '<tt>text</tt>', output('\\<tt>text</tt>')
|
215
|
-
assert_equal '<tt>', output('\\<tt>')
|
216
|
-
assert_equal '<CODE><tt></CODE>', output('<tt>\\<tt></tt>')
|
217
|
-
assert_equal '<CODE>\\<tt></CODE>', output('<tt>\\\\<tt></tt>')
|
218
|
-
assert_equal '<B>text</B>', output('*text*')
|
219
|
-
assert_equal '*text*', output('\\*text*')
|
220
|
-
assert_equal '\\', output('\\')
|
221
|
-
assert_equal '\\text', output('\\text')
|
222
|
-
assert_equal '\\\\text', output('\\\\text')
|
223
|
-
assert_equal 'text \\ text', output('text \\ text')
|
224
|
-
|
225
|
-
assert_equal 'and <CODE>\\s</CODE> matches space',
|
226
|
-
output('and <tt>\\s</tt> matches space')
|
227
|
-
assert_equal 'use <CODE><tt>text</CODE></tt> for code',
|
228
|
-
output('use <tt>\\<tt>text</tt></tt> for code')
|
229
|
-
assert_equal 'use <CODE><tt>text</tt></CODE> for code',
|
230
|
-
output('use <tt>\\<tt>text\\</tt></tt> for code')
|
231
|
-
assert_equal 'use <tt><tt>text</tt></tt> for code',
|
232
|
-
output('use \\<tt>\\<tt>text</tt></tt> for code')
|
233
|
-
assert_equal 'use <tt><CODE>text</CODE></tt> for code',
|
234
|
-
output('use \\<tt><tt>text</tt></tt> for code')
|
235
|
-
assert_equal 'use <CODE>+text+</CODE> for code',
|
236
|
-
output('use <tt>\\+text+</tt> for code')
|
237
|
-
assert_equal 'use <tt><CODE>text</CODE></tt> for code',
|
238
|
-
output('use \\<tt>+text+</tt> for code')
|
239
|
-
assert_equal 'illegal <tag>not</tag> changed',
|
240
|
-
output('illegal <tag>not</tag> changed')
|
241
|
-
assert_equal 'unhandled <p>tag</p> unchanged',
|
242
|
-
output('unhandled <p>tag</p> unchanged')
|
243
|
-
end
|
244
|
-
|
245
|
-
def test_html_like_em_bold
|
246
|
-
assert_equal ["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
|
247
|
-
@am.flow("cat <i>and </i><b>dog</b>")
|
248
|
-
end
|
249
|
-
|
250
|
-
def test_html_like_em_bold_SGML
|
251
|
-
assert_equal ["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
|
252
|
-
@am.flow("cat <i>and <b></i>dog</b>")
|
253
|
-
end
|
254
|
-
|
255
|
-
def test_html_like_em_bold_nested_1
|
256
|
-
assert_equal(["cat ", @bold_em_on, "and", @bold_em_off, " dog"],
|
257
|
-
@am.flow("cat <i><b>and</b></i> dog"))
|
258
|
-
end
|
259
|
-
|
260
|
-
def test_html_like_em_bold_nested_2
|
261
|
-
assert_equal ["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
|
262
|
-
@am.flow("cat <i>and <b>dog</b></i>")
|
263
|
-
end
|
264
|
-
|
265
|
-
def test_html_like_em_bold_nested_mixed_case
|
266
|
-
assert_equal ["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
|
267
|
-
@am.flow("cat <i>and <B>dog</B></I>")
|
268
|
-
end
|
269
|
-
|
270
|
-
def test_html_like_em_bold_mixed_case
|
271
|
-
assert_equal ["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
|
272
|
-
@am.flow("cat <i>and</i> <B>dog</b>")
|
273
|
-
end
|
274
|
-
|
275
|
-
def test_html_like_teletype
|
276
|
-
assert_equal ["cat ", @tt_on, "dog", @tt_off],
|
277
|
-
@am.flow("cat <tt>dog</Tt>")
|
278
|
-
end
|
279
|
-
|
280
|
-
def test_html_like_teletype_em_bold_SGML
|
281
|
-
assert_equal [@tt_on, "cat", @tt_off, " ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
|
282
|
-
@am.flow("<tt>cat</tt> <i>and <b></i>dog</b>")
|
283
|
-
end
|
284
|
-
|
285
|
-
def test_initial_html
|
286
|
-
html_tags = @am.html_tags
|
287
|
-
assert html_tags.is_a?(Hash)
|
288
|
-
assert_equal(5, html_tags.size)
|
289
|
-
end
|
290
|
-
|
291
|
-
def test_initial_word_pairs
|
292
|
-
word_pairs = @am.matching_word_pairs
|
293
|
-
assert word_pairs.is_a?(Hash)
|
294
|
-
assert_equal(3, word_pairs.size)
|
295
|
-
end
|
296
|
-
|
297
|
-
def test_mask_protected_sequence
|
298
|
-
def @am.str() @str end
|
299
|
-
def @am.str=(str) @str = str end
|
300
|
-
|
301
|
-
@am.str = '<code>foo</code>'
|
302
|
-
@am.mask_protected_sequences
|
303
|
-
|
304
|
-
assert_equal "<code>foo</code>", @am.str
|
305
|
-
|
306
|
-
@am.str = '<code>foo\\</code>'
|
307
|
-
@am.mask_protected_sequences
|
308
|
-
|
309
|
-
assert_equal "<code>foo<\x04/code>", @am.str, 'escaped close'
|
310
|
-
|
311
|
-
@am.str = '<code>foo\\\\</code>'
|
312
|
-
@am.mask_protected_sequences
|
313
|
-
|
314
|
-
assert_equal "<code>foo\\</code>", @am.str, 'escaped backslash'
|
315
|
-
end
|
316
|
-
|
317
|
-
def test_protect
|
318
|
-
assert_equal(['cat \\ dog'],
|
319
|
-
@am.flow('cat \\ dog'))
|
320
|
-
|
321
|
-
assert_equal(["cat <tt>dog</Tt>"],
|
322
|
-
@am.flow("cat \\<tt>dog</Tt>"))
|
323
|
-
|
324
|
-
assert_equal(["cat ", @em_on, "and", @em_off, " <B>dog</b>"],
|
325
|
-
@am.flow("cat <i>and</i> \\<B>dog</b>"))
|
326
|
-
|
327
|
-
assert_equal(["*word* or <b>text</b>"],
|
328
|
-
@am.flow("\\*word* or \\<b>text</b>"))
|
329
|
-
|
330
|
-
assert_equal(["_cat_", @em_on, "dog", @em_off],
|
331
|
-
@am.flow("\\_cat_<i>dog</i>"))
|
332
|
-
end
|
333
|
-
|
334
|
-
def test_special
|
335
|
-
@am.add_special(RDoc::CrossReference::CROSSREF_REGEXP, :CROSSREF)
|
336
|
-
|
337
|
-
#
|
338
|
-
# The apostrophes in "cats'" and "dogs'" suppress the flagging of these
|
339
|
-
# words as potential cross-references, which is necessary for the unit
|
340
|
-
# tests. Unfortunately, the markup engine right now does not actually
|
341
|
-
# check whether a cross-reference is valid before flagging it.
|
342
|
-
#
|
343
|
-
assert_equal(["cats'"], @am.flow("cats'"))
|
344
|
-
|
345
|
-
assert_equal(["cats' ", crossref("#fred"), " dogs'"].flatten,
|
346
|
-
@am.flow("cats' #fred dogs'"))
|
347
|
-
|
348
|
-
assert_equal([crossref("#fred"), " dogs'"].flatten,
|
349
|
-
@am.flow("#fred dogs'"))
|
350
|
-
|
351
|
-
assert_equal(["cats' ", crossref("#fred")].flatten, @am.flow("cats' #fred"))
|
352
|
-
end
|
353
|
-
|
354
|
-
def test_tt_html
|
355
|
-
assert_equal [@tt_on, '"\n"', @tt_off],
|
356
|
-
@am.flow('<tt>"\n"</tt>')
|
357
|
-
end
|
358
|
-
|
359
|
-
def output str
|
360
|
-
@formatter.convert_flow @am.flow str
|
361
|
-
end
|
362
|
-
|
363
|
-
end
|
364
|
-
|