review 2.5.0 → 3.0.0.preview1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +28 -10
- data/.travis.yml +11 -2
- data/NEWS.ja.md +89 -17
- data/NEWS.md +92 -0
- data/README.md +1 -1
- data/Rakefile +0 -13
- data/bin/review-catalog-converter +83 -37
- data/bin/review-check +17 -5
- data/bin/review-compile +1 -1
- data/bin/review-index +6 -0
- data/bin/review-init +3 -155
- data/bin/review-preproc +0 -5
- data/bin/review-validate +21 -7
- data/bin/review-vol +13 -5
- data/doc/config.yml.sample +12 -7
- data/doc/config.yml.sample-simple +1 -1
- data/doc/format.ja.md +39 -3
- data/doc/format.md +39 -3
- data/doc/format_idg.ja.md +0 -4
- data/doc/pdfmaker.ja.md +1 -1
- data/doc/pdfmaker.md +1 -1
- data/doc/sample.css +7 -0
- data/lib/epubmaker/content.rb +31 -12
- data/lib/epubmaker/epubcommon.rb +10 -3
- data/lib/epubmaker/epubv2.rb +11 -3
- data/lib/epubmaker/epubv3.rb +11 -3
- data/lib/epubmaker/producer.rb +55 -20
- data/lib/review/book/base.rb +63 -48
- data/lib/review/book/chapter.rb +19 -7
- data/lib/review/book/compilable.rb +5 -20
- data/lib/review/book/image_finder.rb +10 -3
- data/lib/review/book/index.rb +30 -9
- data/lib/review/book/part.rb +9 -6
- data/lib/review/book.rb +0 -14
- data/lib/review/builder.rb +110 -18
- data/lib/review/catalog.rb +24 -4
- data/lib/review/compiler.rb +3 -1
- data/lib/review/configure.rb +43 -9
- data/lib/review/epubmaker/reviewheaderlistener.rb +57 -0
- data/lib/review/epubmaker.rb +129 -85
- data/lib/review/htmlbuilder.rb +76 -58
- data/lib/review/htmlutils.rb +20 -13
- data/lib/review/i18n.rb +6 -2
- data/lib/review/idgxmlbuilder.rb +52 -41
- data/lib/review/init.rb +194 -0
- data/lib/review/latexbuilder.rb +118 -34
- data/lib/review/latexutils.rb +5 -5
- data/lib/review/logger.rb +2 -1
- data/lib/review/makerhelper.rb +1 -1
- data/lib/review/markdownbuilder.rb +66 -6
- data/lib/review/md2inaobuilder.rb +2 -2
- data/lib/review/pdfmaker.rb +74 -22
- data/lib/review/plaintextbuilder.rb +8 -4
- data/lib/review/preprocessor.rb +14 -17
- data/lib/review/sec_counter.rb +8 -2
- data/lib/review/textmaker.rb +2 -2
- data/lib/review/textutils.rb +9 -2
- data/lib/review/tocparser.rb +7 -4
- data/lib/review/tocprinter.rb +3 -1
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +19 -7
- data/lib/review/webtocprinter.rb +8 -4
- data/review.gemspec +4 -3
- data/templates/latex/config.erb +84 -0
- data/templates/latex/layout.tex.erb +76 -361
- data/templates/latex/review-jlreq/README.md +22 -0
- data/templates/latex/review-jlreq/review-base.sty +178 -0
- data/templates/latex/review-jlreq/review-custom.sty +1 -0
- data/templates/latex/review-jlreq/review-jlreq.cls +141 -0
- data/templates/latex/review-jlreq/review-style.sty +149 -0
- data/templates/latex/review-jlreq/reviewmacro.sty +8 -0
- data/templates/latex/review-jsbook/jumoline.sty +310 -0
- data/templates/latex/review-jsbook/plistings.sty +326 -0
- data/templates/latex/review-jsbook/review-base.sty +405 -0
- data/templates/latex/review-jsbook/review-custom.sty +1 -0
- data/templates/latex/review-jsbook/review-style.sty +38 -0
- data/templates/latex/review-jsbook/reviewmacro.sty +8 -0
- data/templates/latex-compat2/layout.tex.erb +387 -0
- data/test/assets/test_template.tex +105 -235
- data/test/assets/test_template_backmatter.tex +133 -14
- data/test/book_test_helper.rb +1 -1
- data/test/run_test.rb +2 -0
- data/test/sample-book/src/Rakefile +11 -6
- data/test/sample-book/src/config.yml +2 -2
- data/test/sample-book/src/sty/reviewmacro.sty +1 -39
- data/test/sample-book/src/style.css +6 -0
- data/test/syntax-book/config.yml +1 -1
- data/test/test_book.rb +13 -16
- data/test/test_book_chapter.rb +4 -10
- data/test/test_book_part.rb +4 -3
- data/test/test_catalog.rb +15 -4
- data/test/test_helper.rb +2 -2
- data/test/test_htmlbuilder.rb +78 -10
- data/test/test_htmlutils.rb +12 -5
- data/test/test_idgxmlbuilder.rb +1 -1
- data/test/test_latexbuilder.rb +94 -49
- data/test/test_latexbuilder_v2.rb +1077 -0
- data/test/test_logger.rb +20 -0
- data/test/test_markdownbuilder.rb +10 -0
- data/test/test_pdfmaker.rb +6 -7
- data/test/test_plaintextbuilder.rb +1 -1
- data/test/test_review_ext.rb +0 -1
- data/test/test_rstbuilder.rb +1 -1
- data/test/test_topbuilder.rb +19 -7
- data/test/test_webtocprinter.rb +14 -14
- data/{test/sample-book/src/vendor → vendor}/jumoline/README +0 -0
- data/{test/sample-book/src/vendor → vendor}/jumoline/jumoline.dtx +0 -0
- data/{test/sample-book/src/vendor → vendor}/jumoline/jumoline.ins +0 -0
- data/{test/sample-book/src/vendor → vendor}/jumoline/lppl.txt +0 -0
- data/vendor/plistings/.gitignore +9 -0
- data/vendor/plistings/LICENSE +21 -0
- data/vendor/plistings/README.md +18 -0
- data/vendor/plistings/plistings.sty +326 -0
- data/vendor/plistings/test1.tex +174 -0
- data/vendor/plistings/test2.tex +54 -0
- metadata +48 -19
- data/lib/review/unfold.rb +0 -129
- data/test/CHAPS +0 -2
- data/test/bib.re +0 -13
- data/test/test.re +0 -43
data/test/test_latexbuilder.rb
CHANGED
@@ -15,9 +15,10 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
15
15
|
'toclevel' => 2,
|
16
16
|
'stylesheet' => nil, # for EPUBBuilder
|
17
17
|
'image_scale2width' => false,
|
18
|
-
'texcommand' => 'uplatex'
|
18
|
+
'texcommand' => 'uplatex',
|
19
|
+
'review_version' => '3'
|
19
20
|
)
|
20
|
-
@book = Book::Base.new
|
21
|
+
@book = Book::Base.new
|
21
22
|
@book.config = @config
|
22
23
|
@compiler = ReVIEW::Compiler.new(@builder)
|
23
24
|
@chapter = Book::Chapter.new(@book, 1, 'chap1', nil, StringIO.new)
|
@@ -26,6 +27,16 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
26
27
|
I18n.setup('ja')
|
27
28
|
end
|
28
29
|
|
30
|
+
def test_escape
|
31
|
+
actual = @builder.escape('<>&_')
|
32
|
+
assert_equal %Q(\\textless{}\\textgreater{}\\&\\textunderscore{}), actual
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_unescape
|
36
|
+
actual = @builder.unescape(%Q(\\textless{}\\textgreater{}\\&\\textunderscore{}))
|
37
|
+
assert_equal '<>&_', actual
|
38
|
+
end
|
39
|
+
|
29
40
|
def test_headline_level1
|
30
41
|
actual = compile_block("={test} this is test.\n")
|
31
42
|
assert_equal %Q(\\chapter{this is test.}\n\\label{chap:chap1}\n), actual
|
@@ -39,7 +50,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
39
50
|
|
40
51
|
def test_headline_level1_with_inlinetag
|
41
52
|
actual = compile_block(%Q(={test} this @<b>{is} test.<&"_>\n))
|
42
|
-
assert_equal %Q(\\chapter{this \\
|
53
|
+
assert_equal %Q(\\chapter{this \\reviewbold{is} test.\\textless{}\\&"\\textunderscore{}\\textgreater{}}\n\\label{chap:chap1}\n), actual
|
43
54
|
end
|
44
55
|
|
45
56
|
def test_headline_level2
|
@@ -100,12 +111,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
100
111
|
|
101
112
|
def test_inline_i
|
102
113
|
actual = compile_inline('abc@<i>{def}ghi')
|
103
|
-
assert_equal 'abc\\
|
114
|
+
assert_equal 'abc\\reviewit{def}ghi', actual
|
104
115
|
end
|
105
116
|
|
106
117
|
def test_inline_i_and_escape
|
107
118
|
actual = compile_inline('test @<i>{inline<&;\\ test} test2')
|
108
|
-
assert_equal 'test \\
|
119
|
+
assert_equal 'test \\reviewit{inline\\textless{}\\&;\\reviewbackslash{} test} test2', actual
|
109
120
|
end
|
110
121
|
|
111
122
|
def test_inline_dtp
|
@@ -115,7 +126,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
115
126
|
|
116
127
|
def test_inline_code
|
117
128
|
actual = compile_inline('abc@<code>{def}ghi')
|
118
|
-
assert_equal 'abc\\
|
129
|
+
assert_equal 'abc\\reviewcode{def}ghi', actual
|
119
130
|
end
|
120
131
|
|
121
132
|
def test_inline_raw
|
@@ -135,12 +146,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
135
146
|
|
136
147
|
def test_inline_b
|
137
148
|
actual = compile_inline('abc@<b>{def}')
|
138
|
-
assert_equal 'abc\\
|
149
|
+
assert_equal 'abc\\reviewbold{def}', actual
|
139
150
|
end
|
140
151
|
|
141
152
|
def test_inline_b_and_escape
|
142
153
|
actual = compile_inline('test @<b>{inline<&;\\ test} test2')
|
143
|
-
assert_equal 'test \\
|
154
|
+
assert_equal 'test \\reviewbold{inline\\textless{}\\&;\\reviewbackslash{} test} test2', actual
|
144
155
|
end
|
145
156
|
|
146
157
|
def test_inline_em
|
@@ -159,35 +170,46 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
159
170
|
end
|
160
171
|
|
161
172
|
def test_inline_m
|
173
|
+
@config['review_version'] = '3.0'
|
174
|
+
actual = compile_inline('abc@<m>{\\alpha^n = \\inf < 2}ghi')
|
175
|
+
assert_equal 'abc$\\alpha^n = \\inf < 2$ghi', actual
|
176
|
+
|
177
|
+
@config['review_version'] = '2.0'
|
162
178
|
actual = compile_inline('abc@<m>{\\alpha^n = \\inf < 2}ghi')
|
163
179
|
assert_equal 'abc $\\alpha^n = \\inf < 2$ ghi', actual
|
164
180
|
end
|
165
181
|
|
166
182
|
def test_inline_m2
|
183
|
+
@config['review_version'] = '3.0'
|
167
184
|
## target text: @<m>{X = \{ {x_1\},{x_2\}, \cdots ,{x_n\} \\\}}
|
168
185
|
actual = compile_inline('@<m>{X = \\{ {x_1\\},{x_2\\}, \\cdots ,{x_n\\} \\\\\\}}')
|
169
186
|
## expected text: $X = \{ {x_1},{x_2}, \cdots ,{x_n} \}$
|
187
|
+
assert_equal '$X = \\{ {x_1},{x_2}, \\cdots ,{x_n} \\}$', actual
|
188
|
+
|
189
|
+
@config['review_version'] = '2.0'
|
190
|
+
actual = compile_inline('@<m>{X = \\{ {x_1\\},{x_2\\}, \\cdots ,{x_n\\} \\\\\\}}')
|
191
|
+
## expected text: $X = \{ {x_1},{x_2}, \cdots ,{x_n} \}$
|
170
192
|
assert_equal ' $X = \\{ {x_1},{x_2}, \\cdots ,{x_n} \\}$ ', actual
|
171
193
|
end
|
172
194
|
|
173
195
|
def test_inline_tt
|
174
196
|
actual = compile_inline('test @<tt>{inline test} test2')
|
175
|
-
assert_equal 'test \\
|
197
|
+
assert_equal 'test \\reviewtt{inline test} test2', actual
|
176
198
|
end
|
177
199
|
|
178
200
|
def test_inline_tt_endash
|
179
201
|
actual = compile_inline('test @<tt>{in-line --test ---foo ----bar -----buz} --test2')
|
180
|
-
assert_equal 'test \\
|
202
|
+
assert_equal 'test \\reviewtt{in{-}line {-}{-}test {-}{-}{-}foo {-}{-}{-}{-}bar {-}{-}{-}{-}{-}buz} {-}{-}test2', actual
|
181
203
|
end
|
182
204
|
|
183
205
|
def test_inline_tti
|
184
206
|
actual = compile_inline('test @<tti>{inline test} test2')
|
185
|
-
assert_equal 'test \\
|
207
|
+
assert_equal 'test \\reviewtti{inline test} test2', actual
|
186
208
|
end
|
187
209
|
|
188
210
|
def test_inline_ttb
|
189
211
|
actual = compile_inline('test @<ttb>{inline test} test2')
|
190
|
-
assert_equal 'test \\
|
212
|
+
assert_equal 'test \\reviewttb{inline test} test2', actual
|
191
213
|
end
|
192
214
|
|
193
215
|
def test_inline_hd_chap
|
@@ -213,7 +235,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
213
235
|
|
214
236
|
def test_inline_uchar
|
215
237
|
actual = compile_inline('test @<uchar>{2460} test2')
|
216
|
-
assert_equal 'test
|
238
|
+
assert_equal 'test ① test2', actual
|
239
|
+
end
|
240
|
+
|
241
|
+
def test_inline_balloon
|
242
|
+
actual = compile_inline('test @<balloon>{①}')
|
243
|
+
assert_equal 'test \\reviewballoon{①}', actual
|
217
244
|
end
|
218
245
|
|
219
246
|
def test_inline_idx
|
@@ -263,31 +290,31 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
263
290
|
|
264
291
|
def test_cmd
|
265
292
|
actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
|
266
|
-
assert_equal %Q(\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n), actual
|
293
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n\\end{reviewlistblock}\n), actual
|
267
294
|
end
|
268
295
|
|
269
296
|
def test_cmd_caption
|
270
297
|
actual = compile_block("//cmd[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
|
271
|
-
assert_equal %Q(\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n), actual
|
298
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n\\end{reviewlistblock}\n), actual
|
272
299
|
end
|
273
300
|
|
274
301
|
def test_cmd_lst
|
275
302
|
@book.config['highlight'] = {}
|
276
303
|
@book.config['highlight']['latex'] = 'listings'
|
277
304
|
actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
|
278
|
-
assert_equal %Q(\\
|
305
|
+
assert_equal %Q(\\begin{reviewcmdlst}[language={}]\nfoo\nbar\n\nbuz\n\\end{reviewcmdlst}\n), actual
|
279
306
|
end
|
280
307
|
|
281
308
|
def test_emlist
|
282
309
|
actual = compile_block("//emlist{\nfoo\nbar\n\nbuz\n//}\n")
|
283
|
-
assert_equal %Q(\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
|
310
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
284
311
|
end
|
285
312
|
|
286
313
|
def test_emlist_lst
|
287
314
|
@book.config['highlight'] = {}
|
288
315
|
@book.config['highlight']['latex'] = 'listings'
|
289
316
|
actual = compile_block("//emlist[][sql]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
|
290
|
-
assert_equal %Q(\n\\
|
317
|
+
assert_equal %Q(\n\\begin{reviewemlistlst}[language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n), actual
|
291
318
|
end
|
292
319
|
|
293
320
|
def test_emlist_lst_without_lang
|
@@ -295,38 +322,38 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
295
322
|
@book.config['highlight']['latex'] = 'listings'
|
296
323
|
@book.config['highlight']['lang'] = 'sql'
|
297
324
|
actual = compile_block("//emlist[]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
|
298
|
-
assert_equal %Q(\n\\
|
325
|
+
assert_equal %Q(\n\\begin{reviewemlistlst}[language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n), actual
|
299
326
|
end
|
300
327
|
|
301
328
|
def test_emlist_caption
|
302
329
|
actual = compile_block("//emlist[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
|
303
|
-
assert_equal %Q(\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
|
330
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
304
331
|
end
|
305
332
|
|
306
333
|
def test_emlist_empty_caption
|
307
334
|
actual = compile_block("//emlist[]{\nfoo\nbar\n\nbuz\n//}\n")
|
308
|
-
assert_equal %Q(\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
|
335
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
309
336
|
end
|
310
337
|
|
311
338
|
def test_emlist_with_tab
|
312
339
|
actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
|
313
|
-
assert_equal %Q(\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n), actual
|
340
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
314
341
|
end
|
315
342
|
|
316
343
|
def test_emlist_with_tab4
|
317
344
|
@config['tabwidth'] = 4
|
318
345
|
actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
|
319
|
-
assert_equal %Q(\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n), actual
|
346
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
320
347
|
end
|
321
348
|
|
322
349
|
def test_emlistnum_caption
|
323
350
|
actual = compile_block("//emlistnum[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
|
324
|
-
assert_equal %Q(\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\n 1: foo\n 2: bar\n 3: \n 4: buz\n\\end{reviewemlist}\n), actual
|
351
|
+
assert_equal %Q(\n\\begin{reviewlistblock}\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\n 1: foo\n 2: bar\n 3: \n 4: buz\n\\end{reviewemlist}\n\\end{reviewlistblock}\n), actual
|
325
352
|
end
|
326
353
|
|
327
354
|
def test_list
|
328
355
|
actual = compile_block("//list[id1][cap1]{\nfoo\nbar\n\nbuz\n//}\n")
|
329
|
-
assert_equal %Q(\\reviewlistcaption{リスト1.1: cap1}\n\\begin{reviewlist}\nfoo\nbar\n\nbuz\n\\end{reviewlist}\n), actual
|
356
|
+
assert_equal %Q(\\begin{reviewlistblock}\n\\reviewlistcaption{リスト1.1: cap1}\n\\begin{reviewlist}\nfoo\nbar\n\nbuz\n\\end{reviewlist}\n\\end{reviewlistblock}\n), actual
|
330
357
|
end
|
331
358
|
|
332
359
|
def test_list_lst
|
@@ -346,12 +373,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
346
373
|
|
347
374
|
def test_listnum
|
348
375
|
actual = compile_block("//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
|
349
|
-
assert_equal %Q(\\reviewlistcaption{リスト1.1: ruby}\n\\begin{reviewlist}\n 1: class Foo\n 2: def foo\n 3: bar\n 4: \n 5: buz\n 6: end\n 7: end\n\\end{reviewlist}\n), actual
|
376
|
+
assert_equal %Q(\\begin{reviewlistblock}\n\\reviewlistcaption{リスト1.1: ruby}\n\\begin{reviewlist}\n 1: class Foo\n 2: def foo\n 3: bar\n 4: \n 5: buz\n 6: end\n 7: end\n\\end{reviewlist}\n\\end{reviewlistblock}\n), actual
|
350
377
|
end
|
351
378
|
|
352
379
|
def test_listnum_linenum
|
353
380
|
actual = compile_block("//firstlinenum[100]\n//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
|
354
|
-
assert_equal %Q(\\reviewlistcaption{リスト1.1: ruby}\n\\begin{reviewlist}\n100: class Foo\n101: def foo\n102: bar\n103: \n104: buz\n105: end\n106: end\n\\end{reviewlist}\n), actual
|
381
|
+
assert_equal %Q(\\begin{reviewlistblock}\n\\reviewlistcaption{リスト1.1: ruby}\n\\begin{reviewlist}\n100: class Foo\n101: def foo\n102: bar\n103: \n104: buz\n105: end\n106: end\n\\end{reviewlist}\n\\end{reviewlistblock}\n), actual
|
355
382
|
end
|
356
383
|
|
357
384
|
def test_listnum_lst
|
@@ -370,12 +397,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
370
397
|
|
371
398
|
def test_source
|
372
399
|
actual = compile_block("//source[foo/bar/test.rb]{\nfoo\nbar\n\nbuz\n//}\n")
|
373
|
-
assert_equal %Q(\\reviewsourcecaption{foo/bar/test.rb}\n\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n), actual
|
400
|
+
assert_equal %Q(\\begin{reviewlistblock}\n\\reviewsourcecaption{foo/bar/test.rb}\n\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n\\end{reviewlistblock}\n), actual
|
374
401
|
end
|
375
402
|
|
376
403
|
def test_source_empty_caption
|
377
404
|
actual = compile_block("//source[]{\nfoo\nbar\n\nbuz\n//}\n")
|
378
|
-
assert_equal %Q(\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n), actual
|
405
|
+
assert_equal %Q(\\begin{reviewlistblock}\n\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n\\end{reviewlistblock}\n), actual
|
379
406
|
end
|
380
407
|
|
381
408
|
def test_source_lst
|
@@ -392,7 +419,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
392
419
|
|
393
420
|
def test_memo
|
394
421
|
actual = compile_block("//memo[this is @<b>{test}<&>_]{\ntest1\n\ntest@<i>{2}\n//}\n")
|
395
|
-
assert_equal %Q(\\begin{
|
422
|
+
assert_equal %Q(\\begin{reviewmemo}[this is \\reviewbold{test}\\textless{}\\&\\textgreater{}\\textunderscore{}]\ntest1\n\ntest\\reviewit{2}\n\\end{reviewmemo}\n), actual
|
396
423
|
end
|
397
424
|
|
398
425
|
def test_flushright
|
@@ -605,7 +632,7 @@ EOS
|
|
605
632
|
end
|
606
633
|
|
607
634
|
actual = compile_block("//bibpaper[samplebib][sample bib @<b>{bold}]{\na\nb\n//}\n")
|
608
|
-
assert_equal %Q([1] sample bib \\
|
635
|
+
assert_equal %Q([1] sample bib \\reviewbold{bold}\n\\label{bib:samplebib}\n\nab\n\n), actual
|
609
636
|
end
|
610
637
|
|
611
638
|
def test_bibpaper_without_body
|
@@ -635,18 +662,14 @@ inside column
|
|
635
662
|
EOS
|
636
663
|
expected = <<-EOS
|
637
664
|
|
638
|
-
\\begin{reviewcolumn}
|
639
|
-
\\hypertarget{column:chap1:1}{}
|
640
|
-
\\reviewcolumnhead{}{prev column}
|
665
|
+
\\begin{reviewcolumn}[prev column\\hypertarget{column:chap1:1}{}]
|
641
666
|
\\addcontentsline{toc}{subsection}{prev column}
|
642
667
|
|
643
668
|
inside prev column
|
644
669
|
|
645
670
|
\\end{reviewcolumn}
|
646
671
|
|
647
|
-
\\begin{reviewcolumn}
|
648
|
-
\\hypertarget{column:chap1:2}{}
|
649
|
-
\\reviewcolumnhead{}{test}
|
672
|
+
\\begin{reviewcolumn}[test\\hypertarget{column:chap1:2}{}]
|
650
673
|
\\addcontentsline{toc}{subsection}{test}
|
651
674
|
|
652
675
|
inside column
|
@@ -667,9 +690,7 @@ inside column
|
|
667
690
|
EOS
|
668
691
|
expected = <<-EOS
|
669
692
|
|
670
|
-
\\begin{reviewcolumn}
|
671
|
-
\\hypertarget{column:chap1:1}{}
|
672
|
-
\\reviewcolumnhead{}{test}
|
693
|
+
\\begin{reviewcolumn}[test\\hypertarget{column:chap1:1}{}]
|
673
694
|
|
674
695
|
inside column
|
675
696
|
|
@@ -831,35 +852,35 @@ EOS
|
|
831
852
|
|
832
853
|
def test_major_blocks
|
833
854
|
actual = compile_block("//note{\nA\n\nB\n//}\n//note[caption]{\nA\n//}")
|
834
|
-
expected = %Q(\\begin{
|
855
|
+
expected = %Q(\\begin{reviewnote}\nA\n\nB\n\\end{reviewnote}\n\\begin{reviewnote}[caption]\nA\n\\end{reviewnote}\n)
|
835
856
|
assert_equal expected, actual
|
836
857
|
|
837
858
|
actual = compile_block("//memo{\nA\n\nB\n//}\n//memo[caption]{\nA\n//}")
|
838
|
-
expected = %Q(\\begin{
|
859
|
+
expected = %Q(\\begin{reviewmemo}\nA\n\nB\n\\end{reviewmemo}\n\\begin{reviewmemo}[caption]\nA\n\\end{reviewmemo}\n)
|
839
860
|
assert_equal expected, actual
|
840
861
|
|
841
862
|
actual = compile_block("//info{\nA\n\nB\n//}\n//info[caption]{\nA\n//}")
|
842
|
-
expected = %Q(\\begin{
|
863
|
+
expected = %Q(\\begin{reviewinfo}\nA\n\nB\n\\end{reviewinfo}\n\\begin{reviewinfo}[caption]\nA\n\\end{reviewinfo}\n)
|
843
864
|
assert_equal expected, actual
|
844
865
|
|
845
866
|
actual = compile_block("//important{\nA\n\nB\n//}\n//important[caption]{\nA\n//}")
|
846
|
-
expected = %Q(\\begin{
|
867
|
+
expected = %Q(\\begin{reviewimportant}\nA\n\nB\n\\end{reviewimportant}\n\\begin{reviewimportant}[caption]\nA\n\\end{reviewimportant}\n)
|
847
868
|
assert_equal expected, actual
|
848
869
|
|
849
870
|
actual = compile_block("//caution{\nA\n\nB\n//}\n//caution[caption]{\nA\n//}")
|
850
|
-
expected = %Q(\\begin{
|
871
|
+
expected = %Q(\\begin{reviewcaution}\nA\n\nB\n\\end{reviewcaution}\n\\begin{reviewcaution}[caption]\nA\n\\end{reviewcaution}\n)
|
851
872
|
assert_equal expected, actual
|
852
873
|
|
853
874
|
actual = compile_block("//notice{\nA\n\nB\n//}\n//notice[caption]{\nA\n//}")
|
854
|
-
expected = %Q(\\begin{
|
875
|
+
expected = %Q(\\begin{reviewnotice}\nA\n\nB\n\\end{reviewnotice}\n\\begin{reviewnotice}[caption]\nA\n\\end{reviewnotice}\n)
|
855
876
|
assert_equal expected, actual
|
856
877
|
|
857
878
|
actual = compile_block("//warning{\nA\n\nB\n//}\n//warning[caption]{\nA\n//}")
|
858
|
-
expected = %Q(\\begin{
|
879
|
+
expected = %Q(\\begin{reviewwarning}\nA\n\nB\n\\end{reviewwarning}\n\\begin{reviewwarning}[caption]\nA\n\\end{reviewwarning}\n)
|
859
880
|
assert_equal expected, actual
|
860
881
|
|
861
882
|
actual = compile_block("//tip{\nA\n\nB\n//}\n//tip[caption]{\nA\n//}")
|
862
|
-
expected = %Q(\\begin{
|
883
|
+
expected = %Q(\\begin{reviewtip}\nA\n\nB\n\\end{reviewtip}\n\\begin{reviewtip}[caption]\nA\n\\end{reviewtip}\n)
|
863
884
|
assert_equal expected, actual
|
864
885
|
end
|
865
886
|
|
@@ -970,7 +991,29 @@ EOS
|
|
970
991
|
|
971
992
|
def test_inline_fence
|
972
993
|
actual = compile_inline('test @<code>|@<code>{$サンプル$}|')
|
973
|
-
assert_equal 'test \\
|
994
|
+
assert_equal 'test \\reviewcode{@\\textless{}code\\textgreater{}\\{\\textdollar{}サンプル\\textdollar{}\\}}', actual
|
995
|
+
end
|
996
|
+
|
997
|
+
def test_inline_w
|
998
|
+
Dir.mktmpdir do |dir|
|
999
|
+
File.open(File.join(dir, 'words.csv'), 'w') do |f|
|
1000
|
+
f.write <<EOB
|
1001
|
+
"F","foo"
|
1002
|
+
"B","bar""\\<>_@<b>{BAZ}"
|
1003
|
+
EOB
|
1004
|
+
end
|
1005
|
+
@book.config['words_file'] = File.join(dir, 'words.csv')
|
1006
|
+
|
1007
|
+
io = StringIO.new
|
1008
|
+
@builder.instance_eval{ @logger = ReVIEW::Logger.new(io) }
|
1009
|
+
actual = compile_block('@<w>{F} @<w>{B} @<wb>{B} @<w>{N}')
|
1010
|
+
expected = <<-EOS
|
1011
|
+
|
1012
|
+
foo bar"\\reviewbackslash{}\\textless{}\\textgreater{}\\textunderscore{}@\\textless{}b\\textgreater{}\\{BAZ\\} \\reviewbold{bar"\\reviewbackslash{}\\textless{}\\textgreater{}\\textunderscore{}@\\textless{}b\\textgreater{}\\{BAZ\\}} [missing word: N]
|
1013
|
+
EOS
|
1014
|
+
assert_equal expected, actual
|
1015
|
+
assert_match(/WARN -- : :1: word not bound: N/, io.string)
|
1016
|
+
end
|
974
1017
|
end
|
975
1018
|
|
976
1019
|
def test_inline_unknown
|
@@ -1005,9 +1048,11 @@ EOS
|
|
1005
1048
|
|
1006
1049
|
\\reviewlistref{A.1}
|
1007
1050
|
|
1051
|
+
\\begin{reviewlistblock}
|
1008
1052
|
\\reviewlistcaption{リストA.1: FOO}
|
1009
1053
|
\\begin{reviewlist}
|
1010
1054
|
\\end{reviewlist}
|
1055
|
+
\\end{reviewlistblock}
|
1011
1056
|
EOS
|
1012
1057
|
actual = compile_block(src)
|
1013
1058
|
assert_equal expected, actual
|