source: extensions/gsdl-video/trunk/installed/cmdline/lib/ruby/1.8/rdoc/markup/test/TestInline.rb@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 5.0 KB
Line 
1require "test/unit"
2
3$:.unshift "../../.."
4
5require "rdoc/markup/simple_markup/inline"
6
7class TestInline < Test::Unit::TestCase
8
9
10 def setup
11 @am = SM::AttributeManager.new
12
13 @bold_on = @am.changed_attribute_by_name([], [:BOLD])
14 @bold_off = @am.changed_attribute_by_name([:BOLD], [])
15
16 @tt_on = @am.changed_attribute_by_name([], [:TT])
17 @tt_off = @am.changed_attribute_by_name([:TT], [])
18
19 @em_on = @am.changed_attribute_by_name([], [:EM])
20 @em_off = @am.changed_attribute_by_name([:EM], [])
21
22 @bold_em_on = @am.changed_attribute_by_name([], [:BOLD] | [:EM])
23 @bold_em_off = @am.changed_attribute_by_name([:BOLD] | [:EM], [])
24
25 @em_then_bold = @am.changed_attribute_by_name([:EM], [:EM] | [:BOLD])
26
27 @em_to_bold = @am.changed_attribute_by_name([:EM], [:BOLD])
28
29 @am.add_word_pair("{", "}", :WOMBAT)
30 @wombat_on = @am.changed_attribute_by_name([], [:WOMBAT])
31 @wombat_off = @am.changed_attribute_by_name([:WOMBAT], [])
32 end
33
34 def crossref(text)
35 [ @am.changed_attribute_by_name([], [:CROSSREF] | [:_SPECIAL_]),
36 SM::Special.new(33, text),
37 @am.changed_attribute_by_name([:CROSSREF] | [:_SPECIAL_], [])
38 ]
39 end
40
41 def test_special
42 # class names, variable names, file names, or instance variables
43 @am.add_special(/(
44 \b([A-Z]\w+(::\w+)*)
45 | \#\w+[!?=]?
46 | \b\w+([_\/\.]+\w+)+[!?=]?
47 )/x,
48 :CROSSREF)
49
50 assert_equal(["cat"], @am.flow("cat"))
51
52 assert_equal(["cat ", crossref("#fred"), " dog"].flatten,
53 @am.flow("cat #fred dog"))
54
55 assert_equal([crossref("#fred"), " dog"].flatten,
56 @am.flow("#fred dog"))
57
58 assert_equal(["cat ", crossref("#fred")].flatten, @am.flow("cat #fred"))
59 end
60
61 def test_basic
62 assert_equal(["cat"], @am.flow("cat"))
63
64 assert_equal(["cat ", @bold_on, "and", @bold_off, " dog"],
65 @am.flow("cat *and* dog"))
66
67 assert_equal(["cat ", @bold_on, "AND", @bold_off, " dog"],
68 @am.flow("cat *AND* dog"))
69
70 assert_equal(["cat ", @em_on, "And", @em_off, " dog"],
71 @am.flow("cat _And_ dog"))
72
73 assert_equal(["cat *and dog*"], @am.flow("cat *and dog*"))
74
75 assert_equal(["*cat and* dog"], @am.flow("*cat and* dog"))
76
77 assert_equal(["cat *and ", @bold_on, "dog", @bold_off],
78 @am.flow("cat *and *dog*"))
79
80 assert_equal(["cat ", @em_on, "and", @em_off, " dog"],
81 @am.flow("cat _and_ dog"))
82
83 assert_equal(["cat_and_dog"],
84 @am.flow("cat_and_dog"))
85
86 assert_equal(["cat ", @tt_on, "and", @tt_off, " dog"],
87 @am.flow("cat +and+ dog"))
88
89 assert_equal(["cat ", @bold_on, "a_b_c", @bold_off, " dog"],
90 @am.flow("cat *a_b_c* dog"))
91
92 assert_equal(["cat __ dog"],
93 @am.flow("cat __ dog"))
94
95 assert_equal(["cat ", @em_on, "_", @em_off, " dog"],
96 @am.flow("cat ___ dog"))
97
98 end
99
100 def test_combined
101 assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
102 @am.flow("cat _and_ *dog*"))
103
104 assert_equal(["cat ", @em_on, "a__nd", @em_off, " ", @bold_on, "dog", @bold_off],
105 @am.flow("cat _a__nd_ *dog*"))
106 end
107
108 def test_html_like
109 assert_equal(["cat ", @tt_on, "dog", @tt_off], @am.flow("cat <tt>dog</Tt>"))
110
111 assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
112 @am.flow("cat <i>and</i> <B>dog</b>"))
113
114 assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
115 @am.flow("cat <i>and <B>dog</B></I>"))
116
117 assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
118 @am.flow("cat <i>and </i><b>dog</b>"))
119
120 assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
121 @am.flow("cat <i>and <b></i>dog</b>"))
122
123 assert_equal([@tt_on, "cat", @tt_off, " ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
124 @am.flow("<tt>cat</tt> <i>and <b></i>dog</b>"))
125
126 assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
127 @am.flow("cat <i>and <b>dog</b></i>"))
128
129 assert_equal(["cat ", @bold_em_on, "and", @bold_em_off, " dog"],
130 @am.flow("cat <i><b>and</b></i> dog"))
131
132
133 end
134
135 def test_protect
136 assert_equal(['cat \\ dog'], @am.flow('cat \\ dog'))
137
138 assert_equal(["cat <tt>dog</Tt>"], @am.flow("cat \\<tt>dog</Tt>"))
139
140 assert_equal(["cat ", @em_on, "and", @em_off, " <B>dog</b>"],
141 @am.flow("cat <i>and</i> \\<B>dog</b>"))
142
143 assert_equal(["*word* or <b>text</b>"], @am.flow("\\*word* or \\<b>text</b>"))
144
145 assert_equal(["_cat_", @em_on, "dog", @em_off],
146 @am.flow("\\_cat_<i>dog</i>"))
147 end
148
149 def test_adding
150 assert_equal(["cat ", @wombat_on, "and", @wombat_off, " dog" ],
151 @am.flow("cat {and} dog"))
152# assert_equal(["cat {and} dog" ], @am.flow("cat \\{and} dog"))
153 end
154end
Note: See TracBrowser for help on using the repository browser.