tmtms-review 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +9 -0
  3. data/COPYING +515 -0
  4. data/ChangeLog +2083 -0
  5. data/README.rdoc +50 -0
  6. data/Rakefile +56 -0
  7. data/VERSION +1 -0
  8. data/bin/review-check +178 -0
  9. data/bin/review-checkdep +63 -0
  10. data/bin/review-compile +205 -0
  11. data/bin/review-epubmaker +661 -0
  12. data/bin/review-epubmaker-ng +176 -0
  13. data/bin/review-index +118 -0
  14. data/bin/review-pdfmaker +208 -0
  15. data/bin/review-preproc +142 -0
  16. data/bin/review-validate +51 -0
  17. data/bin/review-vol +102 -0
  18. data/debian/README.Debian +12 -0
  19. data/debian/README.source +5 -0
  20. data/debian/changelog +5 -0
  21. data/debian/compat +1 -0
  22. data/debian/control +22 -0
  23. data/debian/copyright +62 -0
  24. data/debian/docs +6 -0
  25. data/debian/manpage.1.ex +59 -0
  26. data/debian/patches/path.diff +91 -0
  27. data/debian/patches/series +1 -0
  28. data/debian/review.install +13 -0
  29. data/debian/review.links +4 -0
  30. data/debian/rules +13 -0
  31. data/debian/source/format +1 -0
  32. data/doc/format.rdoc +582 -0
  33. data/doc/format_idg.rdoc +180 -0
  34. data/doc/libepubmaker/sample.yaml +90 -0
  35. data/doc/quickstart.rdoc +188 -0
  36. data/doc/ruby-uuid/README +11 -0
  37. data/doc/ruby-uuid/README.ja +34 -0
  38. data/doc/sample.css +108 -0
  39. data/doc/sample.yaml +62 -0
  40. data/lib/epubmaker.rb +28 -0
  41. data/lib/epubmaker/content.rb +82 -0
  42. data/lib/epubmaker/epubv2.rb +418 -0
  43. data/lib/epubmaker/epubv3.rb +249 -0
  44. data/lib/epubmaker/producer.rb +204 -0
  45. data/lib/epubmaker/resource.rb +66 -0
  46. data/lib/lineinput.rb +155 -0
  47. data/lib/review.rb +3 -0
  48. data/lib/review/book.rb +46 -0
  49. data/lib/review/book/base.rb +235 -0
  50. data/lib/review/book/chapter.rb +81 -0
  51. data/lib/review/book/compilable.rb +159 -0
  52. data/lib/review/book/index.rb +339 -0
  53. data/lib/review/book/page_metric.rb +38 -0
  54. data/lib/review/book/parameters.rb +97 -0
  55. data/lib/review/book/part.rb +44 -0
  56. data/lib/review/book/volume.rb +65 -0
  57. data/lib/review/builder.rb +444 -0
  58. data/lib/review/compiler.rb +550 -0
  59. data/lib/review/configure.rb +38 -0
  60. data/lib/review/epubbuilder.rb +18 -0
  61. data/lib/review/exception.rb +21 -0
  62. data/lib/review/extentions.rb +3 -0
  63. data/lib/review/extentions/object.rb +9 -0
  64. data/lib/review/extentions/string.rb +33 -0
  65. data/lib/review/htmlbuilder.rb +1097 -0
  66. data/lib/review/htmllayout.rb +19 -0
  67. data/lib/review/htmlutils.rb +36 -0
  68. data/lib/review/i18n.rb +30 -0
  69. data/lib/review/i18n.yaml +34 -0
  70. data/lib/review/idgxmlbuilder.rb +1145 -0
  71. data/lib/review/latexbuilder.rb +815 -0
  72. data/lib/review/latexindex.rb +35 -0
  73. data/lib/review/latexutils.rb +79 -0
  74. data/lib/review/preprocessor.rb +563 -0
  75. data/lib/review/review.tex.erb +232 -0
  76. data/lib/review/textbuilder.rb +17 -0
  77. data/lib/review/textutils.rb +66 -0
  78. data/lib/review/tocparser.rb +342 -0
  79. data/lib/review/tocprinter.rb +221 -0
  80. data/lib/review/topbuilder.rb +785 -0
  81. data/lib/review/unfold.rb +138 -0
  82. data/lib/uuid.rb +312 -0
  83. data/review.gemspec +141 -0
  84. data/test/CHAPS +2 -0
  85. data/test/bib.re +13 -0
  86. data/test/book_test_helper.rb +35 -0
  87. data/test/test.re +43 -0
  88. data/test/test_book.rb +598 -0
  89. data/test/test_book_chapter.rb +418 -0
  90. data/test/test_book_parameter.rb +42 -0
  91. data/test/test_book_part.rb +50 -0
  92. data/test/test_builder.rb +144 -0
  93. data/test/test_compiler.rb +44 -0
  94. data/test/test_epubmaker.rb +507 -0
  95. data/test/test_helper.rb +27 -0
  96. data/test/test_htmlbuilder.rb +554 -0
  97. data/test/test_htmlutils.rb +28 -0
  98. data/test/test_i18n.rb +64 -0
  99. data/test/test_idgxmlbuilder.rb +589 -0
  100. data/test/test_index.rb +31 -0
  101. data/test/test_latexbuilder.rb +656 -0
  102. data/test/test_lineinput.rb +198 -0
  103. data/test/test_preprocessor.rb +23 -0
  104. data/test/test_textutils.rb +68 -0
  105. data/test/test_topbuilder.rb +244 -0
  106. data/test/test_uuid.rb +156 -0
  107. metadata +161 -0
@@ -0,0 +1,198 @@
1
+ # encoding: utf-8
2
+
3
+ require 'test_helper'
4
+ require 'lineinput'
5
+ require 'tempfile'
6
+ require 'stringio'
7
+
8
+ class LineInputTest < Test::Unit::TestCase
9
+ def test_initialize
10
+ io = StringIO.new
11
+ li = LineInput.new(io)
12
+ assert_equal 0, li.lineno
13
+ assert !li.eof?
14
+ assert_equal "#<LineInput file=#{io.inspect} line=0>", li.inspect
15
+ end
16
+
17
+ def test_gets
18
+ content = "abc\ndef\r\nghi\rjkl"
19
+ do_test_gets(StringIO.new(content))
20
+ Tempfile.open("lineinput_test") do |io|
21
+ io.print content
22
+ io.rewind
23
+ do_test_gets(io)
24
+ end
25
+ end
26
+
27
+ def do_test_gets(io)
28
+ li = LineInput.new(io)
29
+
30
+ assert_equal "abc\n", li.gets
31
+ assert_equal "def\r\n", li.gets
32
+ assert_equal "ghi\rjkl", li.gets
33
+ assert_equal 3, li.lineno
34
+ assert !li.eof?
35
+
36
+ assert_equal nil, li.gets
37
+ assert_equal 4, li.lineno # XXX: OK?
38
+ assert li.eof?
39
+
40
+ assert_equal nil, li.gets
41
+ assert_equal 4, li.lineno
42
+ assert li.eof?
43
+ end
44
+
45
+ def test_ungets
46
+ io = StringIO.new('abc')
47
+ li = LineInput.new(io)
48
+
49
+ line = li.gets
50
+ assert_equal line, li.ungets(line)
51
+ assert_equal 0, li.lineno
52
+ assert_equal line, li.gets
53
+
54
+ li.ungets('xyz')
55
+ assert_equal 0, li.lineno
56
+ li.ungets('xyz')
57
+ assert_equal -1, li.lineno # XXX: OK?
58
+ end
59
+
60
+ def test_peek
61
+ li = LineInput.new(StringIO.new)
62
+ assert_equal nil, li.peek
63
+
64
+ li = LineInput.new(StringIO.new('abc'))
65
+ assert_equal 'abc', li.peek
66
+ end
67
+
68
+ def test_next?
69
+ li = LineInput.new(StringIO.new)
70
+ assert !li.next?
71
+
72
+ li = LineInput.new(StringIO.new('abc'))
73
+ assert li.next?
74
+ end
75
+
76
+ def test_skip_blank_lines
77
+ if "".respond_to?(:encode)
78
+ euc_jp_spc = " ".encode("EUC-JP")
79
+ else
80
+ euc_jp_spc = "\xa1\xa1" # EUC-JP 全角空白
81
+ end
82
+ [
83
+ ["", 0, nil],
84
+ ["\n \n \nabc", 3, 'abc'],
85
+ ["\t", 1, nil],
86
+ [euc_jp_spc, 0, euc_jp_spc],
87
+ ].each do |text, n, rest|
88
+ li = LineInput.new(StringIO.new(text))
89
+ assert_equal n, li.skip_blank_lines
90
+ assert_equal rest, li.gets
91
+ end
92
+ end
93
+
94
+ def test_gets_if
95
+ io = StringIO.new
96
+ li = LineInput.new(io)
97
+ assert_equal nil, li.gets_if(//)
98
+
99
+ io = StringIO.new("abc\ndef\nghi")
100
+ li = LineInput.new(io)
101
+
102
+ assert_equal "abc\n", li.gets_if(//)
103
+ assert_equal nil, li.gets_if(/^X/)
104
+ assert_equal nil, li.gets_if(/^g/)
105
+ assert_equal "def\n", li.gets_if(/^d/)
106
+ end
107
+
108
+ def test_gets_unless
109
+ io = StringIO.new
110
+ li = LineInput.new(io)
111
+ assert_equal nil, li.gets_unless(//)
112
+
113
+ io = StringIO.new("abc\ndef\nghi")
114
+ li = LineInput.new(io)
115
+
116
+ assert_equal nil, li.gets_unless(//)
117
+ assert_equal "abc\n", li.gets_unless(/^X/)
118
+ assert_equal nil, li.gets_unless(/^d/)
119
+ end
120
+
121
+ def test_each
122
+ content = "abc\ndef\nghi"
123
+ io = StringIO.new(content)
124
+ li = LineInput.new(io)
125
+
126
+ data = ''
127
+ li.each {|l| data << l }
128
+ assert_equal content, data
129
+ end
130
+
131
+ def test_while_match
132
+ io = StringIO.new("abc\ndef\nghi")
133
+ li = LineInput.new(io)
134
+
135
+ li.while_match(/^[ad]/) {}
136
+ assert_equal 2, li.lineno
137
+ assert_equal "ghi", li.gets
138
+ end
139
+
140
+ def test_getlines_while
141
+ io = StringIO.new("abc\ndef\nghi")
142
+ li = LineInput.new(io)
143
+
144
+ buf = li.getlines_while(/^[ad]/)
145
+ assert_equal ["abc\n", "def\n"], buf
146
+ assert_equal 2, li.lineno
147
+ assert_equal "ghi", li.gets
148
+ end
149
+
150
+ def test_until_match
151
+ io = StringIO.new("abc\ndef\nghi")
152
+ li = LineInput.new(io)
153
+
154
+ li.until_match(/^[^a]/) {}
155
+ assert_equal 1, li.lineno
156
+ assert_equal "def\n", li.gets
157
+ end
158
+
159
+ def test_getlines_until
160
+ io = StringIO.new("abc\ndef\nghi")
161
+ li = LineInput.new(io)
162
+
163
+ buf = li.getlines_until(/^[^a]/)
164
+ assert_equal ["abc\n"], buf
165
+ assert_equal 1, li.lineno
166
+ assert_equal "def\n", li.gets
167
+ end
168
+
169
+ def test_until_terminator
170
+ io = StringIO.new("abc\n//}\ndef\nghi\n//}\njkl\nmno")
171
+ li = LineInput.new(io)
172
+
173
+ data = ''
174
+ li.until_terminator(%r<\A//\}>) {|l| data << l }
175
+ assert_equal "abc\n", data
176
+ assert_equal 2, li.lineno
177
+
178
+ data = ''
179
+ li.until_terminator(%r<\A//\}>) {|l| data << l }
180
+ assert_equal "def\nghi\n", data
181
+ assert_equal 5, li.lineno
182
+
183
+ data = ''
184
+ li.until_terminator(%r<\A//\}>) {|l| data << l }
185
+ assert_equal "jkl\nmno", data
186
+ assert_equal 7, li.lineno
187
+ end
188
+
189
+ def test_until_terminator
190
+ io = StringIO.new("abc\ndef\n//}\nghi\n//}")
191
+ li = LineInput.new(io)
192
+
193
+ data = li.getblock(%r<\A//\}>)
194
+ assert_equal ["abc\n", "def\n"], data
195
+ assert_equal 3, li.lineno
196
+ end
197
+ end
198
+
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+ require 'review/preprocessor'
3
+ require 'stringio'
4
+
5
+ class PreprocessorStripTest < Test::Unit::TestCase
6
+ include ReVIEW
7
+
8
+ def test_gets
9
+ f = StringIO.new '= Header'
10
+ s = Preprocessor::Strip.new(f)
11
+ expect = '= Header'
12
+ actual = s.gets
13
+ assert_equal expect, actual
14
+ end
15
+
16
+ def test_gets_with_comment
17
+ f = StringIO.new '#@warn(write it later)'
18
+ s = Preprocessor::Strip.new(f)
19
+ expect = '#@#' + "\n"
20
+ actual = s.gets
21
+ assert_equal expect, actual
22
+ end
23
+ end
@@ -0,0 +1,68 @@
1
+ require 'test_helper'
2
+ require 'review/textutils'
3
+
4
+ class TextUtilsTest < Test::Unit::TestCase
5
+ include ReVIEW::TextUtils
6
+
7
+ def setup
8
+ @tu_nil = Object.new
9
+ @tu_nil.extend ReVIEW::TextUtils
10
+ def @tu_nil.pre_paragraph;nil;end
11
+ def @tu_nil.post_paragraph;nil;end
12
+
13
+ @tu_p = Object.new
14
+ @tu_p.extend ReVIEW::TextUtils
15
+ def @tu_p.pre_paragraph;'<p>';end
16
+ def @tu_p.post_paragraph;'</p>';end
17
+ end
18
+
19
+ def test_detab
20
+ detabed = detab("\t\tabc")
21
+ assert_equal " abc", detabed
22
+ detabed = detab("\tabc\tbcd")
23
+ assert_equal " abc bcd", detabed
24
+ end
25
+
26
+ def test_detab_with_arg
27
+ detabed = detab("\t\tabcd\tef",2)
28
+ assert_equal " abcd ef", detabed
29
+ detabed = detab("\tabc\tdef", 4)
30
+ assert_equal " abc def", detabed
31
+ end
32
+
33
+ def test_split_paragraph_empty_nil
34
+ ret = @tu_nil.split_paragraph([])
35
+ assert_equal ret, [""]
36
+ end
37
+
38
+ def test_split_paragraph_empty_p
39
+ ret = @tu_p.split_paragraph([])
40
+ assert_equal ret, ["<p></p>"]
41
+ end
42
+
43
+ def test_split_paragraph_p
44
+ ret = @tu_p.split_paragraph(["abc"])
45
+ assert_equal ["<p>abc</p>"], ret
46
+ ret = @tu_p.split_paragraph(["abc","def"])
47
+ assert_equal ["<p>abcdef</p>"], ret
48
+ ret = @tu_p.split_paragraph(["abc","","def"])
49
+ assert_equal ["<p>abc</p>","<p>def</p>"], ret
50
+ ret = @tu_p.split_paragraph(["abc","","","def"])
51
+ assert_equal ["<p>abc</p>","<p>def</p>"], ret
52
+ ret = @tu_p.split_paragraph(["abc","","","def","ghi"])
53
+ assert_equal ["<p>abc</p>","<p>defghi</p>"], ret
54
+ end
55
+
56
+ def test_split_paragraph_nil
57
+ ret = @tu_nil.split_paragraph(["abc"])
58
+ assert_equal ["abc"], ret
59
+ ret = @tu_nil.split_paragraph(["abc","def"])
60
+ assert_equal ["abcdef"], ret
61
+ ret = @tu_nil.split_paragraph(["abc","","def"])
62
+ assert_equal ["abc","def"], ret
63
+ ret = @tu_nil.split_paragraph(["abc","","","def"])
64
+ assert_equal ["abc","def"], ret
65
+ ret = @tu_nil.split_paragraph(["abc","","","def","ghi"])
66
+ assert_equal ["abc","defghi"], ret
67
+ end
68
+ end
@@ -0,0 +1,244 @@
1
+ # encoding: utf-8
2
+
3
+ require 'test_helper'
4
+ require 'review/compiler'
5
+ require 'review/book'
6
+ require 'review/topbuilder'
7
+
8
+ class TOPBuidlerTest < Test::Unit::TestCase
9
+ include ReVIEW
10
+
11
+ def setup
12
+ @builder = TOPBuilder.new()
13
+ @param = {
14
+ "secnolevel" => 2,
15
+ "inencoding" => "UTF-8",
16
+ "outencoding" => "UTF-8",
17
+ "subdirmode" => nil,
18
+ }
19
+ ReVIEW.book.param = @param
20
+ @compiler = ReVIEW::Compiler.new(@builder)
21
+ @chapter = Book::Chapter.new(nil, 1, '-', nil, StringIO.new)
22
+ location = Location.new(nil, nil)
23
+ @builder.bind(@compiler, @chapter, location)
24
+
25
+ @builder.instance_eval do
26
+ # to ignore lineno in original method
27
+ def warn(msg)
28
+ puts msg
29
+ end
30
+ end
31
+ end
32
+
33
+ def test_headline_level1
34
+ @builder.headline(1,"test","this is test.")
35
+ assert_equal %Q|■H1■第1章 this is test.\n|, @builder.raw_result
36
+ end
37
+
38
+ def test_headline_level1_without_secno
39
+ @param["secnolevel"] = 0
40
+ @builder.headline(1,"test","this is test.")
41
+ assert_equal %Q|■H1■this is test.\n|, @builder.raw_result
42
+ end
43
+
44
+ def test_headline_level2
45
+ @builder.headline(2,"test","this is test.")
46
+ assert_equal %Q|■H2■1.1 this is test.\n|, @builder.raw_result
47
+ end
48
+
49
+ def test_headline_level3
50
+ @builder.headline(3,"test","this is test.")
51
+ assert_equal %Q|■H3■this is test.\n|, @builder.raw_result
52
+ end
53
+
54
+ def test_headline_level3_with_secno
55
+ @param["secnolevel"] = 3
56
+ @builder.headline(3,"test","this is test.")
57
+ assert_equal %Q|■H3■1.0.1 this is test.\n|, @builder.raw_result
58
+ end
59
+
60
+ def test_href
61
+ ret = @builder.compile_href("http://github.com", "GitHub")
62
+ assert_equal %Q|GitHub(△http://github.com☆)|, ret
63
+ end
64
+
65
+ def test_href_without_label
66
+ ret = @builder.compile_href("http://github.com",nil)
67
+ assert_equal %Q|△http://github.com☆|, ret
68
+ end
69
+
70
+ def test_inline_raw
71
+ ret = @builder.inline_raw("@<tt>{inline}")
72
+ assert_equal %Q|@<tt>{inline}|, ret
73
+ end
74
+
75
+ def test_inline_ruby
76
+ ret = @builder.compile_ruby("coffin", "bed")
77
+ assert_equal %Q|coffin◆→DTP連絡:「coffin」に「bed」とルビ←◆|, ret
78
+ end
79
+
80
+ def test_inline_kw
81
+ ret = @builder.compile_inline("@<kw>{ISO, International Organization for Standardization } @<kw>{Ruby<>}")
82
+ assert_equal %Q|★ISO☆(International Organization for Standardization) ★Ruby<>☆|, ret
83
+ end
84
+
85
+ def test_inline_maru
86
+ ret = @builder.compile_inline("@<maru>{1}@<maru>{20}@<maru>{A}@<maru>{z}")
87
+ assert_equal %Q|1◆→丸数字1←◆20◆→丸数字20←◆A◆→丸数字A←◆z◆→丸数字z←◆|, ret
88
+ end
89
+
90
+ def test_inline_br
91
+ ret = @builder.inline_br("")
92
+ assert_equal %Q|\n|, ret
93
+ end
94
+
95
+ def test_inline_uchar
96
+ ret = @builder.compile_inline("test @<uchar>{2460} test2")
97
+ assert_equal %Q|test ① test2|, ret
98
+ end
99
+
100
+ def test_inline_in_table
101
+ @builder.table(["★1☆\t▲2☆", "------------", "★3☆\t▲4☆<>&"])
102
+ assert_equal %Q|★★1☆☆\t★▲2☆☆\n★3☆\t▲4☆<>&\n◆→終了:表←◆\n\n|, @builder.raw_result
103
+ end
104
+
105
+ def test_paragraph
106
+ lines = ["foo","bar"]
107
+ @builder.paragraph(lines)
108
+ assert_equal %Q|foobar\n|, @builder.raw_result
109
+ end
110
+
111
+ def test_tabbed_paragraph
112
+ lines = ["\tfoo","bar"]
113
+ @builder.paragraph(lines)
114
+ assert_equal %Q|\tfoobar\n|, @builder.raw_result
115
+ end
116
+
117
+ def test_flushright
118
+ @builder.flushright(["foo", "bar", "","buz"])
119
+ assert_equal %Q|◆→開始:右寄せ←◆\nfoobar\nbuz\n◆→終了:右寄せ←◆\n\n|, @builder.raw_result
120
+ end
121
+
122
+ def test_noindent
123
+ @builder.noindent
124
+ @builder.paragraph(["foo", "bar"])
125
+ @builder.paragraph(["foo2", "bar2"])
126
+ assert_equal %Q|◆→DTP連絡:次の1行インデントなし←◆\nfoobar\nfoo2bar2\n|, @builder.raw_result
127
+ end
128
+
129
+ def test_list
130
+ def @chapter.list(id)
131
+ Book::ListIndex::Item.new("test",1)
132
+ end
133
+ @builder.list(["foo", "bar"], "test", "this is @<b>{test}<&>_")
134
+ assert_equal %Q|◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\nfoo\nbar\n◆→終了:リスト←◆\n\n|, @builder.raw_result
135
+ end
136
+
137
+ def test_listnum
138
+ def @chapter.list(id)
139
+ Book::ListIndex::Item.new("test",1)
140
+ end
141
+ @builder.listnum(["foo", "bar"], "test", "this is @<b>{test}<&>_")
142
+ assert_equal %Q|◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\n 1: foo\n 2: bar\n◆→終了:リスト←◆\n\n|, @builder.raw_result
143
+ end
144
+
145
+ def test_emlistnum
146
+ @builder.emlistnum(["foo", "bar"], "this is @<b>{test}<&>_")
147
+ assert_equal %Q|◆→開始:インラインリスト←◆\n■this is ★test☆<&>_\n 1: foo\n 2: bar\n◆→終了:インラインリスト←◆\n\n|, @builder.raw_result
148
+ end
149
+
150
+ def test_image
151
+ def @chapter.image(id)
152
+ item = Book::ImageIndex::Item.new("sampleimg",1)
153
+ item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
154
+ item
155
+ end
156
+
157
+ @builder.image(["foo"], "sampleimg","sample photo",nil)
158
+ assert_equal %Q|◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png←◆\n◆→終了:図←◆\n\n|, @builder.raw_result
159
+ end
160
+
161
+ def test_image_with_metric
162
+ def @chapter.image(id)
163
+ item = Book::ImageIndex::Item.new("sampleimg",1)
164
+ item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
165
+ item
166
+ end
167
+
168
+ @builder.image(["foo"], "sampleimg","sample photo","scale=1.2")
169
+ assert_equal %Q|◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png←◆\n◆→終了:図←◆\n\n|, @builder.raw_result
170
+ end
171
+
172
+ def test_texequation
173
+ @builder.texequation(["\\sin", "1^{2}"])
174
+ assert_equal %Q|◆→開始:TeX式←◆\n\\sin\n1^{2}\n◆→終了:TeX式←◆\n\n|, @builder.raw_result
175
+ end
176
+
177
+ def test_inline_raw0
178
+ assert_equal "normal", @builder.inline_raw("normal")
179
+ end
180
+
181
+ def test_inline_raw1
182
+ assert_equal "body", @builder.inline_raw("|top|body")
183
+ end
184
+
185
+ def test_inline_raw2
186
+ assert_equal "body", @builder.inline_raw("|top, latex|body")
187
+ end
188
+
189
+ def test_inline_raw3
190
+ assert_equal "", @builder.inline_raw("|idgxml, html|body")
191
+ end
192
+
193
+ def test_inline_raw4
194
+ assert_equal "|top body", @builder.inline_raw("|top body")
195
+ end
196
+
197
+ def test_inline_raw5
198
+ assert_equal "nor\nmal", @builder.inline_raw("|top|nor\\nmal")
199
+ end
200
+
201
+ def test_block_raw0
202
+ @builder.raw("<>!\"\\n& ")
203
+ expect =<<-EOS
204
+ <>!"
205
+ &
206
+ EOS
207
+ assert_equal expect.chomp, @builder.raw_result
208
+ end
209
+
210
+ def test_block_raw1
211
+ @builder.raw("|top|<>!\"\\n& ")
212
+ expect =<<-EOS
213
+ <>!"
214
+ &
215
+ EOS
216
+ assert_equal expect.chomp, @builder.raw_result
217
+ end
218
+
219
+ def test_block_raw2
220
+ @builder.raw("|top, latex|<>!\"\\n& ")
221
+ expect =<<-EOS
222
+ <>!\"
223
+ &
224
+ EOS
225
+ assert_equal expect.chomp, @builder.raw_result
226
+ end
227
+
228
+ def test_block_raw3
229
+ @builder.raw("|latex, idgxml|<>!\"\\n& ")
230
+ expect =<<-EOS
231
+ EOS
232
+ assert_equal expect.chomp, @builder.raw_result
233
+ end
234
+
235
+ def test_block_raw4
236
+ @builder.raw("|top <>!\"\\n& ")
237
+ expect =<<-EOS
238
+ |top <>!\"
239
+ &
240
+ EOS
241
+ assert_equal expect.chomp, @builder.raw_result
242
+ end
243
+
244
+ end