review 3.0.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +39 -0
  3. data/.github/workflows/ruby.yml +27 -0
  4. data/.rubocop.yml +50 -12
  5. data/.travis.yml +17 -8
  6. data/Dockerfile +21 -5
  7. data/NEWS.ja.md +358 -0
  8. data/NEWS.md +358 -1
  9. data/README.md +11 -8
  10. data/appveyor.yml +1 -3
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -8
  13. data/bin/review-checkdep +1 -1
  14. data/bin/review-compile +12 -12
  15. data/bin/review-epubmaker +3 -35
  16. data/bin/review-idgxmlmaker +16 -0
  17. data/bin/review-index +2 -89
  18. data/bin/review-preproc +14 -19
  19. data/bin/review-validate +3 -3
  20. data/bin/review-vol +4 -78
  21. data/doc/LICENSE +1 -1
  22. data/doc/config.yml.sample +46 -12
  23. data/doc/config.yml.sample-simple +4 -2
  24. data/doc/format.ja.md +37 -13
  25. data/doc/format.md +35 -20
  26. data/doc/pdfmaker.ja.md +43 -1
  27. data/doc/pdfmaker.md +42 -1
  28. data/doc/quickstart.ja.md +46 -26
  29. data/doc/quickstart.md +38 -17
  30. data/lib/epubmaker/epubcommon.rb +10 -5
  31. data/lib/epubmaker/epubv2.rb +1 -1
  32. data/lib/epubmaker/epubv3.rb +1 -0
  33. data/lib/epubmaker/producer.rb +4 -2
  34. data/lib/review/book.rb +1 -1
  35. data/lib/review/book/base.rb +38 -79
  36. data/lib/review/book/chapter.rb +18 -3
  37. data/lib/review/book/compilable.rb +6 -5
  38. data/lib/review/book/index.rb +69 -101
  39. data/lib/review/book/index/item.rb +40 -0
  40. data/lib/review/book/page_metric.rb +7 -7
  41. data/lib/review/book/part.rb +28 -5
  42. data/lib/review/book/volume.rb +3 -4
  43. data/lib/review/builder.rb +105 -44
  44. data/lib/review/catalog.rb +13 -16
  45. data/lib/review/compiler.rb +84 -72
  46. data/lib/review/configure.rb +19 -8
  47. data/lib/review/epub2html.rb +37 -4
  48. data/lib/review/epubmaker.rb +62 -7
  49. data/lib/review/extentions/string.rb +0 -4
  50. data/lib/review/htmlbuilder.rb +102 -115
  51. data/lib/review/htmlutils.rb +2 -3
  52. data/lib/review/i18n.rb +2 -2
  53. data/lib/review/i18n.yml +9 -0
  54. data/lib/review/idgxmlbuilder.rb +153 -74
  55. data/lib/review/idgxmlmaker.rb +191 -0
  56. data/lib/review/init-web/finish.html +10 -0
  57. data/lib/review/init-web/index.html +190 -0
  58. data/lib/review/init-web/review-layout-design.js +691 -0
  59. data/lib/review/init.rb +125 -34
  60. data/lib/review/latexbuilder.rb +199 -88
  61. data/lib/review/lineinput.rb +1 -1
  62. data/lib/review/location.rb +32 -0
  63. data/lib/review/logger.rb +4 -8
  64. data/lib/review/makerhelper.rb +24 -5
  65. data/lib/review/markdownbuilder.rb +31 -37
  66. data/lib/review/md2inaobuilder.rb +3 -5
  67. data/lib/review/pdfmaker.rb +44 -22
  68. data/lib/review/plaintextbuilder.rb +106 -85
  69. data/lib/review/preprocessor.rb +32 -41
  70. data/lib/review/rstbuilder.rb +33 -33
  71. data/lib/review/textmaker.rb +19 -3
  72. data/lib/review/textutils.rb +76 -2
  73. data/lib/review/tocprinter.rb +231 -102
  74. data/lib/review/topbuilder.rb +114 -61
  75. data/lib/review/update.rb +19 -19
  76. data/lib/review/version.rb +1 -1
  77. data/lib/review/volumeprinter.rb +99 -0
  78. data/lib/review/webmaker.rb +11 -4
  79. data/lib/review/webtocprinter.rb +38 -35
  80. data/lib/review/yamlloader.rb +26 -16
  81. data/review.gemspec +6 -4
  82. data/samples/sample-book/README.md +7 -2
  83. data/samples/sample-book/src/.gitignore +154 -0
  84. data/samples/sample-book/src/config-ebook.yml +4 -0
  85. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  86. data/samples/sample-book/src/config-jlreq.yml +6 -0
  87. data/samples/sample-book/src/config.yml +2 -2
  88. data/samples/sample-book/src/lib/tasks/review.rake +29 -14
  89. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  90. data/samples/syntax-book/ch01.re +4 -2
  91. data/samples/syntax-book/ch02.re +8 -16
  92. data/samples/syntax-book/ch03.re +3 -6
  93. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  94. data/samples/syntax-book/config-jlreq.yml +5 -0
  95. data/samples/syntax-book/config-print.yml +3 -0
  96. data/samples/syntax-book/config.yml +1 -1
  97. data/samples/syntax-book/lib/tasks/review.rake +30 -15
  98. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  99. data/templates/latex/config.erb +16 -0
  100. data/templates/latex/layout.tex.erb +4 -0
  101. data/templates/latex/review-jlreq/review-base.sty +150 -61
  102. data/templates/latex/review-jlreq/review-jlreq.cls +74 -8
  103. data/templates/latex/review-jlreq/review-style.sty +4 -1
  104. data/templates/latex/review-jsbook/README.md +39 -0
  105. data/templates/latex/review-jsbook/review-base.sty +101 -23
  106. data/templates/latex/review-jsbook/review-jsbook.cls +28 -5
  107. data/templates/latex/review-jsbook/review-style.sty +5 -2
  108. data/templates/opf/epubv3.opf.erb +1 -0
  109. data/templates/web/html/layout-html5.html.erb +2 -2
  110. data/test/assets/test_template.tex +24 -3
  111. data/test/assets/test_template_backmatter.tex +24 -3
  112. data/test/test_book.rb +75 -21
  113. data/test/test_book_chapter.rb +4 -2
  114. data/test/test_book_part.rb +3 -3
  115. data/test/test_builder.rb +16 -0
  116. data/test/test_catalog.rb +24 -42
  117. data/test/test_catalog_converter_cmd.rb +1 -1
  118. data/test/test_epubmaker_cmd.rb +14 -7
  119. data/test/test_helper.rb +15 -7
  120. data/test/test_htmlbuilder.rb +909 -159
  121. data/test/test_i18n.rb +25 -25
  122. data/test/test_idgxmlbuilder.rb +395 -38
  123. data/test/test_idgxmlmaker_cmd.rb +46 -0
  124. data/test/test_image_finder.rb +52 -70
  125. data/test/test_index.rb +50 -10
  126. data/test/test_latexbuilder.rb +1194 -106
  127. data/test/test_latexbuilder_v2.rb +628 -97
  128. data/test/test_logger.rb +14 -1
  129. data/test/test_makerhelper.rb +3 -3
  130. data/test/test_markdownbuilder.rb +134 -16
  131. data/test/test_md2inaobuilder.rb +32 -9
  132. data/test/test_pdfmaker.rb +18 -1
  133. data/test/test_pdfmaker_cmd.rb +100 -6
  134. data/test/test_plaintextbuilder.rb +371 -25
  135. data/test/test_preprocessor.rb +2 -16
  136. data/test/test_rstbuilder.rb +249 -26
  137. data/test/test_textmaker_cmd.rb +54 -0
  138. data/test/test_textutils.rb +109 -2
  139. data/test/test_topbuilder.rb +546 -31
  140. data/test/test_update.rb +17 -8
  141. data/test/test_webtocprinter.rb +66 -34
  142. data/test/test_yamlloader.rb +13 -0
  143. data/vendor/jsclasses/LICENSE +1 -1
  144. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  145. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  146. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  147. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  148. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  149. data/vendor/jsclasses/jis/jspf.cls +52 -13
  150. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  151. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  152. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  153. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  154. data/vendor/jsclasses/jsarticle.cls +53 -14
  155. data/vendor/jsclasses/jsbook.cls +53 -14
  156. data/vendor/jsclasses/jsclasses.dtx +84 -25
  157. data/vendor/jsclasses/jsclasses.pdf +0 -0
  158. data/vendor/jsclasses/jslogo.dtx +4 -4
  159. data/vendor/jsclasses/jslogo.pdf +0 -0
  160. data/vendor/jsclasses/jslogo.sty +3 -3
  161. data/vendor/jsclasses/jspf.cls +52 -13
  162. data/vendor/jsclasses/jsreport.cls +53 -14
  163. data/vendor/jsclasses/kiyou.cls +53 -14
  164. data/vendor/jsclasses/okumacro.dtx +4 -5
  165. data/vendor/jsclasses/okumacro.pdf +0 -0
  166. data/vendor/jsclasses/okumacro.sty +3 -4
  167. metadata +55 -10
  168. data/lib/review/tocparser.rb +0 -271
  169. data/samples/syntax-book/review-ext.rb +0 -14
  170. data/test/test_tocparser.rb +0 -25
@@ -14,10 +14,10 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
14
14
  'secnolevel' => 2, # for IDGXMLBuilder, EPUBBuilder
15
15
  'toclevel' => 2,
16
16
  'stylesheet' => nil, # for EPUBBuilder
17
- 'image_scale2width' => false,
18
17
  'texcommand' => 'uplatex',
19
18
  'review_version' => '2.0'
20
19
  )
20
+ @config['pdfmaker']['image_scale2width'] = nil
21
21
  @book = Book::Base.new
22
22
  @book.config = @config
23
23
  @compiler = ReVIEW::Compiler.new(@builder)
@@ -29,34 +29,62 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
29
29
 
30
30
  def test_headline_level1
31
31
  actual = compile_block("={test} this is test.\n")
32
- assert_equal %Q(\\chapter{this is test.}\n\\label{chap:chap1}\n), actual
32
+ expected = <<-EOS
33
+ \\chapter{this is test.}
34
+ \\label{chap:chap1}
35
+ EOS
36
+ assert_equal expected, actual
33
37
  end
34
38
 
35
39
  def test_headline_level1_without_secno
36
40
  @config['secnolevel'] = 0
37
41
  actual = compile_block("={test} this is test.\n")
38
- assert_equal %Q(\\chapter*{this is test.}\n\\addcontentsline{toc}{chapter}{this is test.}\n\\label{chap:chap1}\n), actual
42
+ expected = <<-EOS
43
+ \\chapter*{this is test.}
44
+ \\addcontentsline{toc}{chapter}{this is test.}
45
+ \\label{chap:chap1}
46
+ EOS
47
+ assert_equal expected, actual
39
48
  end
40
49
 
41
50
  def test_headline_level1_with_inlinetag
42
51
  actual = compile_block(%Q(={test} this @<b>{is} test.<&"_>\n))
43
- assert_equal %Q(\\chapter{this \\textbf{is} test.\\textless{}\\&"\\textunderscore{}\\textgreater{}}\n\\label{chap:chap1}\n), actual
52
+ expected = <<-EOS
53
+ \\chapter{this \\textbf{is} test.\\textless{}\\&"\\textunderscore{}\\textgreater{}}
54
+ \\label{chap:chap1}
55
+ EOS
56
+ assert_equal expected, actual
44
57
  end
45
58
 
46
59
  def test_headline_level2
47
60
  actual = compile_block("=={test} this is test.\n")
48
- assert_equal %Q(\\section{this is test.}\n\\label{sec:1-1}\n\\label{test}\n), actual
61
+ expected = <<-EOS
62
+ \\section{this is test.}
63
+ \\label{sec:1-1}
64
+ \\label{test}
65
+ EOS
66
+ assert_equal expected, actual
49
67
  end
50
68
 
51
69
  def test_headline_level3
52
70
  actual = compile_block("==={test} this is test.\n")
53
- assert_equal %Q(\\subsection*{this is test.}\n\\label{sec:1-0-1}\n\\label{test}\n), actual
71
+ expected = <<-EOS
72
+ \\subsection*{this is test.}
73
+ \\label{sec:1-0-1}
74
+ \\label{test}
75
+ EOS
76
+ assert_equal expected, actual
54
77
  end
55
78
 
56
79
  def test_headline_level3_with_secno
57
80
  @config['secnolevel'] = 3
58
81
  actual = compile_block("==={test} this is test.\n")
59
- assert_equal %Q(\\subsection{this is test.}\n\\label{sec:1-0-1}\n\\label{test}\n), actual
82
+ expected = <<-EOS
83
+ \\subsection{this is test.}
84
+ \\label{sec:1-0-1}
85
+ \\label{test}
86
+ EOS
87
+ assert_equal expected, actual
60
88
  end
61
89
 
62
90
  def test_label
@@ -193,8 +221,10 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
193
221
 
194
222
  def test_inline_hd_chap
195
223
  def @chapter.headline_index
196
- items = [Book::HeadlineIndex::Item.new('chap1|test', [1, 1], 'te_st')]
197
- Book::HeadlineIndex.new(items, self)
224
+ item = Book::Index::Item.new('chap1|test', [1, 1], 'te_st')
225
+ idx = Book::HeadlineIndex.new(self)
226
+ idx.add_item(item)
227
+ idx
198
228
  end
199
229
 
200
230
  @config['secnolevel'] = 3
@@ -223,9 +253,9 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
223
253
  end
224
254
 
225
255
  def test_inline_idx_yomi
256
+ require 'nkf'
226
257
  begin
227
258
  require 'MeCab'
228
- require 'nkf'
229
259
  rescue LoadError
230
260
  $stderr.puts 'skip test_inline_idx_yomi (cannot find MeCab)'
231
261
  return true
@@ -248,47 +278,132 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
248
278
  end
249
279
 
250
280
  def test_dlist
251
- actual = compile_block(": foo\n foo.\n bar.\n")
252
- assert_equal %Q(\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.bar.\n\\end{description}\n), actual
281
+ actual = compile_block(" : foo\n foo.\n bar.\n")
282
+ expected = <<-EOS
283
+
284
+ \\begin{description}
285
+ \\item[foo] \\mbox{} \\\\
286
+ foo.
287
+ bar.
288
+ \\end{description}
289
+ EOS
290
+ assert_equal expected, actual
253
291
  end
254
292
 
255
293
  def test_dlist_with_bracket
256
- actual = compile_block(": foo[bar]\n foo.\n bar.\n")
257
- assert_equal %Q(\n\\begin{description}\n\\item[foo\\lbrack{}bar\\rbrack{}] \\mbox{} \\\\\nfoo.bar.\n\\end{description}\n), actual
294
+ actual = compile_block(" : foo[bar]\n foo.\n bar.\n")
295
+ expected = <<-EOS
296
+
297
+ \\begin{description}
298
+ \\item[foo\\lbrack{}bar\\rbrack{}] \\mbox{} \\\\
299
+ foo.
300
+ bar.
301
+ \\end{description}
302
+ EOS
303
+ assert_equal expected, actual
258
304
  end
259
305
 
260
306
  def test_dlist_beforeulol
261
307
  actual = compile_block(" : foo\n foo.\n\npara\n\n : foo\n foo.\n\n 1. bar\n\n : foo\n foo.\n\n * bar\n")
262
- assert_equal %Q(\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.\n\\end{description}\n\npara\n\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.\n\\end{description}\n\n\\begin{enumerate}\n\\item bar\n\\end{enumerate}\n\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.\n\\end{description}\n\n\\begin{itemize}\n\\item bar\n\\end{itemize}\n), actual
308
+ expected = <<-EOS
309
+
310
+ \\begin{description}
311
+ \\item[foo] \\mbox{} \\\\
312
+ foo.
313
+ \\end{description}
314
+
315
+ para
316
+
317
+ \\begin{description}
318
+ \\item[foo] \\mbox{} \\\\
319
+ foo.
320
+ \\end{description}
321
+
322
+ \\begin{enumerate}
323
+ \\item bar
324
+ \\end{enumerate}
325
+
326
+ \\begin{description}
327
+ \\item[foo] \\mbox{} \\\\
328
+ foo.
329
+ \\end{description}
330
+
331
+ \\begin{itemize}
332
+ \\item bar
333
+ \\end{itemize}
334
+ EOS
335
+ assert_equal expected, actual
263
336
  end
264
337
 
265
338
  def test_cmd
266
339
  actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
267
- assert_equal %Q(\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n), actual
340
+ expected = <<-EOS
341
+
342
+ \\begin{reviewcmd}
343
+ foo
344
+ bar
345
+
346
+ buz
347
+ \\end{reviewcmd}
348
+ EOS
349
+ assert_equal expected, actual
268
350
  end
269
351
 
270
352
  def test_cmd_caption
271
353
  actual = compile_block("//cmd[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
272
- assert_equal %Q(\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n), actual
354
+ expected = <<-EOS
355
+
356
+ \\reviewcmdcaption{cap1}
357
+ \\begin{reviewcmd}
358
+ foo
359
+ bar
360
+
361
+ buz
362
+ \\end{reviewcmd}
363
+ EOS
364
+ assert_equal expected, actual
273
365
  end
274
366
 
275
367
  def test_cmd_lst
276
368
  @book.config['highlight'] = {}
277
369
  @book.config['highlight']['latex'] = 'listings'
278
370
  actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
279
- assert_equal %Q(\\vspace{-1.5em}\\begin{reviewcmdlst}[title={\\relax},language={}]\nfoo\nbar\n\nbuz\n\\end{reviewcmdlst}\n), actual
371
+ expected = <<-EOS
372
+ \\vspace{-1.5em}\\begin{reviewcmdlst}[title={\\relax},language={}]
373
+ foo
374
+ bar
375
+
376
+ buz
377
+ \\end{reviewcmdlst}
378
+ EOS
379
+ assert_equal expected, actual
280
380
  end
281
381
 
282
382
  def test_emlist
283
383
  actual = compile_block("//emlist{\nfoo\nbar\n\nbuz\n//}\n")
284
- assert_equal %Q(\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
384
+ expected = <<-EOS
385
+
386
+ \\begin{reviewemlist}
387
+ foo
388
+ bar
389
+
390
+ buz
391
+ \\end{reviewemlist}
392
+ EOS
393
+ assert_equal expected, actual
285
394
  end
286
395
 
287
396
  def test_emlist_lst
288
397
  @book.config['highlight'] = {}
289
398
  @book.config['highlight']['latex'] = 'listings'
290
399
  actual = compile_block("//emlist[][sql]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
291
- assert_equal %Q(\n\\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n), actual
400
+ expected = <<-EOS
401
+
402
+ \\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]
403
+ SELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'
404
+ \\end{reviewemlistlst}
405
+ EOS
406
+ assert_equal expected, actual
292
407
  end
293
408
 
294
409
  def test_emlist_lst_without_lang
@@ -296,45 +411,112 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
296
411
  @book.config['highlight']['latex'] = 'listings'
297
412
  @book.config['highlight']['lang'] = 'sql'
298
413
  actual = compile_block("//emlist[]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
299
- assert_equal %Q(\n\\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n), actual
414
+ expected = <<-EOS
415
+
416
+ \\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]
417
+ SELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'
418
+ \\end{reviewemlistlst}
419
+ EOS
420
+ assert_equal expected, actual
300
421
  end
301
422
 
302
423
  def test_emlist_caption
303
424
  actual = compile_block("//emlist[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
304
- assert_equal %Q(\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
425
+ expected = <<-EOS
426
+
427
+ \\reviewemlistcaption{cap1}
428
+ \\begin{reviewemlist}
429
+ foo
430
+ bar
431
+
432
+ buz
433
+ \\end{reviewemlist}
434
+ EOS
435
+ assert_equal expected, actual
305
436
  end
306
437
 
307
438
  def test_emlist_empty_caption
308
439
  actual = compile_block("//emlist[]{\nfoo\nbar\n\nbuz\n//}\n")
309
- assert_equal %Q(\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n), actual
440
+ expected = <<-EOS
441
+
442
+ \\begin{reviewemlist}
443
+ foo
444
+ bar
445
+
446
+ buz
447
+ \\end{reviewemlist}
448
+ EOS
449
+ assert_equal expected, actual
310
450
  end
311
451
 
312
452
  def test_emlist_with_tab
313
453
  actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
314
- assert_equal %Q(\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n), actual
454
+ expected = <<-EOS
455
+
456
+ \\begin{reviewemlist}
457
+ foo
458
+ bar
459
+
460
+ buz
461
+ \\end{reviewemlist}
462
+ EOS
463
+ assert_equal expected, actual
315
464
  end
316
465
 
317
466
  def test_emlist_with_tab4
318
467
  @config['tabwidth'] = 4
319
468
  actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
320
- assert_equal %Q(\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n), actual
469
+ expected = <<-EOS
470
+
471
+ \\begin{reviewemlist}
472
+ foo
473
+ bar
474
+
475
+ buz
476
+ \\end{reviewemlist}
477
+ EOS
478
+ assert_equal expected, actual
321
479
  end
322
480
 
323
481
  def test_emlistnum_caption
324
482
  actual = compile_block("//emlistnum[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
325
- 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
483
+ expected = <<-EOS
484
+
485
+ \\reviewemlistcaption{cap1}
486
+ \\begin{reviewemlist}
487
+ 1: foo
488
+ 2: bar
489
+ 3:
490
+ 4: buz
491
+ \\end{reviewemlist}
492
+ EOS
493
+ assert_equal expected, actual
326
494
  end
327
495
 
328
496
  def test_list
329
497
  actual = compile_block("//list[id1][cap1]{\nfoo\nbar\n\nbuz\n//}\n")
330
- assert_equal %Q(\\reviewlistcaption{リスト1.1: cap1}\n\\begin{reviewlist}\nfoo\nbar\n\nbuz\n\\end{reviewlist}\n), actual
498
+ expected = <<-EOS
499
+ \\reviewlistcaption{リスト1.1: cap1}
500
+ \\begin{reviewlist}
501
+ foo
502
+ bar
503
+
504
+ buz
505
+ \\end{reviewlist}
506
+ EOS
507
+ assert_equal expected, actual
331
508
  end
332
509
 
333
510
  def test_list_lst
334
511
  @book.config['highlight'] = {}
335
512
  @book.config['highlight']['latex'] = 'listings'
336
513
  actual = compile_block("//list[id1][cap1][sql]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
337
- assert_equal %Q(\\begin{reviewlistlst}[caption={cap1},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewlistlst}\n), actual
514
+ expected = <<-EOS
515
+ \\begin{reviewlistlst}[caption={cap1},language={sql}]
516
+ SELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'
517
+ \\end{reviewlistlst}
518
+ EOS
519
+ assert_equal expected, actual
338
520
  end
339
521
 
340
522
  def test_list_lst_with_lang
@@ -342,238 +524,493 @@ class LATEXBuidlerV2Test < Test::Unit::TestCase
342
524
  @book.config['highlight']['latex'] = 'listings'
343
525
  @book.config['highlight']['lang'] = 'sql'
344
526
  actual = compile_block("//list[id1][cap1]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
345
- assert_equal %Q(\\begin{reviewlistlst}[caption={cap1},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewlistlst}\n), actual
527
+ expected = <<-EOS
528
+ \\begin{reviewlistlst}[caption={cap1},language={sql}]
529
+ SELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'
530
+ \\end{reviewlistlst}
531
+ EOS
532
+ assert_equal expected, actual
346
533
  end
347
534
 
348
535
  def test_listnum
349
536
  actual = compile_block("//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
350
- 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
537
+ expected = <<-EOS
538
+ \\reviewlistcaption{リスト1.1: ruby}
539
+ \\begin{reviewlist}
540
+ 1: class Foo
541
+ 2: def foo
542
+ 3: bar
543
+ 4:
544
+ 5: buz
545
+ 6: end
546
+ 7: end
547
+ \\end{reviewlist}
548
+ EOS
549
+ assert_equal expected, actual
351
550
  end
352
551
 
353
552
  def test_listnum_linenum
354
553
  actual = compile_block("//firstlinenum[100]\n//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
355
- 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
554
+ expected = <<-EOS
555
+ \\reviewlistcaption{リスト1.1: ruby}
556
+ \\begin{reviewlist}
557
+ 100: class Foo
558
+ 101: def foo
559
+ 102: bar
560
+ 103:
561
+ 104: buz
562
+ 105: end
563
+ 106: end
564
+ \\end{reviewlist}
565
+ EOS
566
+ assert_equal expected, actual
356
567
  end
357
568
 
358
569
  def test_listnum_lst
359
570
  @book.config['highlight'] = {}
360
571
  @book.config['highlight']['latex'] = 'listings'
361
572
  actual = compile_block("//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
362
- assert_equal %Q(\\begin{reviewlistnumlst}[caption={ruby},language={}]\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n\\end{reviewlistnumlst}\n), actual
573
+ expected = <<-EOS
574
+ \\begin{reviewlistnumlst}[caption={ruby},language={}]
575
+ class Foo
576
+ def foo
577
+ bar
578
+
579
+ buz
580
+ end
581
+ end
582
+ \\end{reviewlistnumlst}
583
+ EOS
584
+ assert_equal expected, actual
363
585
  end
364
586
 
365
587
  def test_listnum_lst_linenum
366
588
  @book.config['highlight'] = {}
367
589
  @book.config['highlight']['latex'] = 'listings'
368
590
  actual = compile_block("//firstlinenum[100]\n//listnum[test1][ruby]{\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n//}\n")
369
- assert_equal %Q(\\begin{reviewlistnumlst}[caption={ruby},language={},firstnumber=100]\nclass Foo\n def foo\n bar\n\n buz\n end\nend\n\\end{reviewlistnumlst}\n), actual
591
+ expected = <<-EOS
592
+ \\begin{reviewlistnumlst}[caption={ruby},language={},firstnumber=100]
593
+ class Foo
594
+ def foo
595
+ bar
596
+
597
+ buz
598
+ end
599
+ end
600
+ \\end{reviewlistnumlst}
601
+ EOS
602
+ assert_equal expected, actual
370
603
  end
371
604
 
372
605
  def test_source
373
606
  actual = compile_block("//source[foo/bar/test.rb]{\nfoo\nbar\n\nbuz\n//}\n")
374
- assert_equal %Q(\\reviewsourcecaption{foo/bar/test.rb}\n\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n), actual
607
+ expected = <<-EOS
608
+ \\reviewsourcecaption{foo/bar/test.rb}
609
+ \\begin{reviewsource}
610
+ foo
611
+ bar
612
+
613
+ buz
614
+ \\end{reviewsource}
615
+ EOS
616
+ assert_equal expected, actual
375
617
  end
376
618
 
377
619
  def test_source_empty_caption
378
620
  actual = compile_block("//source[]{\nfoo\nbar\n\nbuz\n//}\n")
379
- assert_equal %Q(\\begin{reviewsource}\nfoo\nbar\n\nbuz\n\\end{reviewsource}\n), actual
621
+ expected = <<-EOS
622
+ \\begin{reviewsource}
623
+ foo
624
+ bar
625
+
626
+ buz
627
+ \\end{reviewsource}
628
+ EOS
629
+ assert_equal expected, actual
380
630
  end
381
631
 
382
632
  def test_source_lst
383
633
  @book.config['highlight'] = {}
384
634
  @book.config['highlight']['latex'] = 'listings'
385
635
  actual = compile_block("//source[foo/bar/test.rb]{\nfoo\nbar\n\nbuz\n//}\n")
386
- assert_equal %Q(\\begin{reviewsourcelst}[title={foo/bar/test.rb},language={}]\nfoo\nbar\n\nbuz\n\\end{reviewsourcelst}\n), actual
636
+ expected = <<-EOS
637
+ \\begin{reviewsourcelst}[title={foo/bar/test.rb},language={}]
638
+ foo
639
+ bar
640
+
641
+ buz
642
+ \\end{reviewsourcelst}
643
+ EOS
644
+ assert_equal expected, actual
387
645
  end
388
646
 
389
647
  def test_quote
390
648
  actual = compile_block("//quote{\nfoo\nbar\n\nbuz\n//}\n")
391
- assert_equal %Q(\n\\begin{quote}\nfoobar\n\nbuz\n\\end{quote}\n), actual
649
+ expected = <<-EOS
650
+
651
+ \\begin{quote}
652
+ foobar
653
+
654
+ buz
655
+ \\end{quote}
656
+ EOS
657
+ assert_equal expected, actual
392
658
  end
393
659
 
394
660
  def test_memo
395
661
  actual = compile_block("//memo[this is @<b>{test}<&>_]{\ntest1\n\ntest@<i>{2}\n//}\n")
396
- assert_equal %Q(\\begin{reviewminicolumn}\n\\reviewminicolumntitle{this is \\textbf{test}\\textless{}\\&\\textgreater{}\\textunderscore{}}\ntest1\n\ntest\\textit{2}\n\\end{reviewminicolumn}\n), actual
662
+ expected = <<-EOS
663
+ \\begin{reviewminicolumn}
664
+ \\reviewminicolumntitle{this is \\textbf{test}\\textless{}\\&\\textgreater{}\\textunderscore{}}
665
+ test1
666
+
667
+ test\\textit{2}
668
+ \\end{reviewminicolumn}
669
+ EOS
670
+ assert_equal expected, actual
397
671
  end
398
672
 
399
673
  def test_flushright
400
674
  actual = compile_block("//flushright{\nfoo\nbar\n\nbuz\n//}\n")
401
- assert_equal %Q(\n\\begin{flushright}\nfoobar\n\nbuz\n\\end{flushright}\n), actual
675
+ expected = <<-EOS
676
+
677
+ \\begin{flushright}
678
+ foobar
679
+
680
+ buz
681
+ \\end{flushright}
682
+ EOS
683
+ assert_equal expected, actual
402
684
  end
403
685
 
404
686
  def test_centering
405
687
  actual = compile_block("//centering{\nfoo\nbar\n\nbuz\n//}\n")
406
- assert_equal %Q(\n\\begin{center}\nfoobar\n\nbuz\n\\end{center}\n), actual
688
+ expected = <<-EOS
689
+
690
+ \\begin{center}
691
+ foobar
692
+
693
+ buz
694
+ \\end{center}
695
+ EOS
696
+ assert_equal expected, actual
407
697
  end
408
698
 
409
699
  def test_blankline
410
700
  actual = compile_block("//blankline\nfoo\n")
411
- assert_equal %Q(\\vspace*{\\baselineskip}\n\nfoo\n), actual
701
+ expected = <<-EOS
702
+ \\vspace*{\\baselineskip}
703
+
704
+ foo
705
+ EOS
706
+ assert_equal expected, actual
412
707
  end
413
708
 
414
709
  def test_noindent
415
710
  actual = compile_block("//noindent\nfoo\nbar\n\nfoo2\nbar2\n")
416
- assert_equal %Q(\\noindent\nfoo\nbar\n\nfoo2\nbar2\n), actual
711
+ expected = <<-EOS
712
+ \\noindent
713
+ foo
714
+ bar
715
+
716
+ foo2
717
+ bar2
718
+ EOS
719
+ assert_equal expected, actual
417
720
  end
418
721
 
419
722
  def test_image
420
723
  def @chapter.image(_id)
421
- item = Book::ImageIndex::Item.new('sampleimg', 1)
724
+ item = Book::Index::Item.new('sampleimg', 1)
422
725
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
423
726
  item
424
727
  end
425
728
 
426
729
  actual = compile_block("//image[sampleimg][sample photo]{\n//}\n")
427
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n), actual
730
+ expected = <<-EOS
731
+ \\begin{reviewimage}%%sampleimg
732
+ \\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}
733
+ \\caption{sample photo}
734
+ \\label{image:chap1:sampleimg}
735
+ \\end{reviewimage}
736
+ EOS
737
+ assert_equal expected, actual
428
738
  end
429
739
 
430
740
  def test_image_with_metric
431
741
  def @chapter.image(_id)
432
- item = Book::ImageIndex::Item.new('sampleimg', 1)
742
+ item = Book::Index::Item.new('sampleimg', 1)
433
743
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
434
744
  item
435
745
  end
436
746
 
437
747
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
438
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n), actual
748
+ expected = <<-EOS
749
+ \\begin{reviewimage}%%sampleimg
750
+ \\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}
751
+ \\caption{sample photo}
752
+ \\label{image:chap1:sampleimg}
753
+ \\end{reviewimage}
754
+ EOS
755
+ assert_equal expected, actual
439
756
  end
440
757
 
441
758
  def test_image_with_metric_width
442
759
  def @chapter.image(_id)
443
- item = Book::ImageIndex::Item.new('sampleimg', 1)
760
+ item = Book::Index::Item.new('sampleimg', 1)
444
761
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
445
762
  item
446
763
  end
447
764
 
448
- @config['image_scale2width'] = true
765
+ @config['pdfmaker']['image_scale2width'] = true
449
766
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
450
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n), actual
767
+ expected = <<-EOS
768
+ \\begin{reviewimage}%%sampleimg
769
+ \\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}
770
+ \\caption{sample photo}
771
+ \\label{image:chap1:sampleimg}
772
+ \\end{reviewimage}
773
+ EOS
774
+ assert_equal expected, actual
451
775
  end
452
776
 
453
777
  def test_image_with_metric2
454
778
  def @chapter.image(_id)
455
- item = Book::ImageIndex::Item.new('sampleimg', 1)
779
+ item = Book::Index::Item.new('sampleimg', 1)
456
780
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
457
781
  item
458
782
  end
459
783
 
460
784
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
461
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n), actual
785
+ expected = <<-EOS
786
+ \\begin{reviewimage}%%sampleimg
787
+ \\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}
788
+ \\caption{sample photo}
789
+ \\label{image:chap1:sampleimg}
790
+ \\end{reviewimage}
791
+ EOS
792
+ assert_equal expected, actual
462
793
  end
463
794
 
464
795
  def test_image_with_metric2_width
465
796
  def @chapter.image(_id)
466
- item = Book::ImageIndex::Item.new('sampleimg', 1)
797
+ item = Book::Index::Item.new('sampleimg', 1)
467
798
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
468
799
  item
469
800
  end
470
801
 
471
- @config['image_scale2width'] = true
802
+ @config['pdfmaker']['image_scale2width'] = true
472
803
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
473
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=1.2\\maxwidth,ignore=params]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n), actual
804
+ expected = <<-EOS
805
+ \\begin{reviewimage}%%sampleimg
806
+ \\includegraphics[width=1.2\\maxwidth,ignore=params]{./images/chap1-sampleimg.png}
807
+ \\caption{sample photo}
808
+ \\label{image:chap1:sampleimg}
809
+ \\end{reviewimage}
810
+ EOS
811
+ assert_equal expected, actual
474
812
  end
475
813
 
476
814
  def test_indepimage
477
815
  def @chapter.image(_id)
478
- item = Book::ImageIndex::Item.new('sampleimg', 1)
816
+ item = Book::Index::Item.new('sampleimg', 1)
479
817
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
480
818
  item
481
819
  end
482
820
 
483
821
  actual = compile_block("//indepimage[sampleimg][sample photo]\n")
484
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n), actual
822
+ expected = <<-EOS
823
+ \\begin{reviewimage}%%sampleimg
824
+ \\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}
825
+ \\reviewindepimagecaption{図: sample photo}
826
+ \\end{reviewimage}
827
+ EOS
828
+ assert_equal expected, actual
485
829
  end
486
830
 
487
831
  def test_indepimage_without_caption
488
832
  def @chapter.image(_id)
489
- item = Book::ImageIndex::Item.new('sampleimg', 1)
833
+ item = Book::Index::Item.new('sampleimg', 1)
490
834
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
491
835
  item
492
836
  end
493
837
 
494
838
  # FIXME: indepimage's caption should not be with a counter.
495
839
  actual = compile_block("//indepimage[sampleimg]\n")
496
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n), actual
840
+ expected = <<-EOS
841
+ \\begin{reviewimage}%%sampleimg
842
+ \\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}
843
+ \\end{reviewimage}
844
+ EOS
845
+ assert_equal expected, actual
497
846
  end
498
847
 
499
848
  def test_indepimage_with_metric
500
849
  def @chapter.image(_id)
501
- item = Book::ImageIndex::Item.new('sampleimg', 1)
850
+ item = Book::Index::Item.new('sampleimg', 1)
502
851
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
503
852
  item
504
853
  end
505
854
 
506
855
  actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
507
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n), actual
856
+ expected = <<-EOS
857
+ \\begin{reviewimage}%%sampleimg
858
+ \\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}
859
+ \\reviewindepimagecaption{図: sample photo}
860
+ \\end{reviewimage}
861
+ EOS
862
+ assert_equal expected, actual
508
863
  end
509
864
 
510
865
  def test_indepimage_with_metric_width
511
866
  def @chapter.image(_id)
512
- item = Book::ImageIndex::Item.new('sampleimg', 1)
867
+ item = Book::Index::Item.new('sampleimg', 1)
513
868
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
514
869
  item
515
870
  end
516
871
 
517
- @config['image_scale2width'] = true
872
+ @config['pdfmaker']['image_scale2width'] = true
518
873
  actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
519
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n), actual
874
+ expected = <<-EOS
875
+ \\begin{reviewimage}%%sampleimg
876
+ \\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}
877
+ \\reviewindepimagecaption{図: sample photo}
878
+ \\end{reviewimage}
879
+ EOS
880
+ assert_equal expected, actual
520
881
  end
521
882
 
522
883
  def test_indepimage_with_metric2
523
884
  def @chapter.image(_id)
524
- item = Book::ImageIndex::Item.new('sampleimg', 1)
885
+ item = Book::Index::Item.new('sampleimg', 1)
525
886
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
526
887
  item
527
888
  end
528
889
 
529
890
  actual = compile_block(%Q(//indepimage[sampleimg][sample photo][scale=1.2, html::class="sample",latex::ignore=params]\n))
530
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n), actual
891
+ expected = <<-EOS
892
+ \\begin{reviewimage}%%sampleimg
893
+ \\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}
894
+ \\reviewindepimagecaption{図: sample photo}
895
+ \\end{reviewimage}
896
+ EOS
897
+ assert_equal expected, actual
531
898
  end
532
899
 
533
900
  def test_indepimage_without_caption_but_with_metric
534
901
  def @chapter.image(_id)
535
- item = Book::ImageIndex::Item.new('sampleimg', 1)
902
+ item = Book::Index::Item.new('sampleimg', 1)
536
903
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
537
904
  item
538
905
  end
539
906
 
540
907
  # FIXME: indepimage's caption should not be with a counter.
541
908
  actual = compile_block("//indepimage[sampleimg][][scale=1.2]\n")
542
- assert_equal %Q(\\begin{reviewimage}%%sampleimg\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n), actual
909
+ expected = <<-EOS
910
+ \\begin{reviewimage}%%sampleimg
911
+ \\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}
912
+ \\end{reviewimage}
913
+ EOS
914
+ assert_equal expected, actual
543
915
  end
544
916
 
545
917
  def test_table
546
918
  actual = compile_block("//table{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
547
- assert_equal "\\begin{reviewtable}{|l|l|}\n\\hline\n\\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline\nccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline\n\\end{reviewtable}\n",
548
- actual
919
+ expected = <<-EOS
920
+ \\begin{reviewtable}{|l|l|}
921
+ \\hline
922
+ \\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline
923
+ ccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline
924
+ \\end{reviewtable}
925
+ EOS
926
+ assert_equal expected, actual
927
+
928
+ actual = compile_block("//table[foo][FOO]{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
929
+ expected = <<-EOS
930
+ \\begin{table}[h]%%foo
931
+ \\reviewtablecaption{FOO}
932
+ \\label{table:chap1:foo}
933
+ \\begin{reviewtable}{|l|l|}
934
+ \\hline
935
+ \\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline
936
+ ccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline
937
+ \\end{reviewtable}
938
+ \\end{table}
939
+ EOS
940
+ assert_equal expected, actual
549
941
  end
550
942
 
551
943
  def test_customize_cellwidth
552
944
  actual = compile_block("//tsize[2,3,5]\n//table{\nA\tB\tC\n//}\n")
553
- assert_equal %Q(\\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}\n\\hline\n\\reviewth{A} & B & C \\\\ \\hline\n\\end{reviewtable}\n), actual
945
+ expected = <<-EOS
946
+ \\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}
947
+ \\hline
948
+ \\reviewth{A} & B & C \\\\ \\hline
949
+ \\end{reviewtable}
950
+ EOS
951
+ assert_equal expected, actual
554
952
 
555
953
  actual = compile_block("//tsize[|latex,html|2,3,5]\n//table{\nA\tB\tC\n//}\n")
556
- assert_equal %Q(\\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}\n\\hline\n\\reviewth{A} & B & C \\\\ \\hline\n\\end{reviewtable}\n), actual
954
+ expected = <<-EOS
955
+ \\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}
956
+ \\hline
957
+ \\reviewth{A} & B & C \\\\ \\hline
958
+ \\end{reviewtable}
959
+ EOS
960
+ assert_equal expected, actual
557
961
 
558
962
  actual = compile_block("//tsize[|html|2,3,5]\n//table{\nA\tB\tC\n//}\n")
559
- assert_equal %Q(\\begin{reviewtable}{|l|l|l|}\n\\hline\n\\reviewth{A} & B & C \\\\ \\hline\n\\end{reviewtable}\n), actual
963
+ expected = <<-EOS
964
+ \\begin{reviewtable}{|l|l|l|}
965
+ \\hline
966
+ \\reviewth{A} & B & C \\\\ \\hline
967
+ \\end{reviewtable}
968
+ EOS
969
+ assert_equal expected, actual
560
970
 
561
971
  actual = compile_block("//tsize[|latex|2,3,5]\n//table{\nA\tB\tC\n//}\n")
562
- assert_equal %Q(\\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}\n\\hline\n\\reviewth{A} & B & C \\\\ \\hline\n\\end{reviewtable}\n), actual
972
+ expected = <<-EOS
973
+ \\begin{reviewtable}{|p{2mm}|p{3mm}|p{5mm}|}
974
+ \\hline
975
+ \\reviewth{A} & B & C \\\\ \\hline
976
+ \\end{reviewtable}
977
+ EOS
978
+ assert_equal expected, actual
563
979
 
564
980
  actual = compile_block("//tsize[|latex||p{5mm}|cr|]\n//table{\nA\tB\tC\n//}\n")
565
- assert_equal %Q(\\begin{reviewtable}{|p{5mm}|cr|}\n\\hline\n\\reviewth{A} & B & C \\\\ \\hline\n\\end{reviewtable}\n), actual
981
+ expected = <<-EOS
982
+ \\begin{reviewtable}{|p{5mm}|cr|}
983
+ \\hline
984
+ \\reviewth{A} & B & C \\\\ \\hline
985
+ \\end{reviewtable}
986
+ EOS
987
+ assert_equal expected, actual
566
988
  end
567
989
 
568
990
  def test_emtable
569
991
  actual = compile_block("//emtable[foo]{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n//emtable{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
570
- assert_equal "\\begin{table}[h]%%\n\\reviewtablecaption*{foo}\n\\begin{reviewtable}{|l|l|}\n\\hline\n\\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline\nccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline\n\\end{reviewtable}\n\\end{table}\n\n\\begin{reviewtable}{|l|l|}\n\\hline\n\\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline\nccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline\n\\end{reviewtable}\n",
571
- actual
992
+ expected = <<-EOS
993
+ \\begin{table}[h]%%
994
+ \\reviewtablecaption*{foo}
995
+ \\begin{reviewtable}{|l|l|}
996
+ \\hline
997
+ \\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline
998
+ ccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline
999
+ \\end{reviewtable}
1000
+ \\end{table}
1001
+
1002
+ \\begin{reviewtable}{|l|l|}
1003
+ \\hline
1004
+ \\reviewth{aaa} & \\reviewth{bbb} \\\\ \\hline
1005
+ ccc & ddd\\textless{}\\textgreater{}\\& \\\\ \\hline
1006
+ \\end{reviewtable}
1007
+ EOS
1008
+ assert_equal expected, actual
572
1009
  end
573
1010
 
574
1011
  def test_imgtable
575
1012
  def @chapter.image(_id)
576
- item = Book::ImageIndex::Item.new('sampleimg', 1, 'sample img')
1013
+ item = Book::Index::Item.new('sampleimg', 1, 'sample img')
577
1014
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
578
1015
  item
579
1016
  end
@@ -594,7 +1031,7 @@ EOS
594
1031
 
595
1032
  def test_bib
596
1033
  def @chapter.bibpaper(_id)
597
- Book::BibpaperIndex::Item.new('samplebib', 1, 'sample bib')
1034
+ Book::Index::Item.new('samplebib', 1, 'sample bib')
598
1035
  end
599
1036
 
600
1037
  assert_equal '\\reviewbibref{[1]}{bib:samplebib}', compile_inline('@<bib>{samplebib}')
@@ -602,20 +1039,32 @@ EOS
602
1039
 
603
1040
  def test_bibpaper
604
1041
  def @chapter.bibpaper(_id)
605
- Book::BibpaperIndex::Item.new('samplebib', 1, 'sample bib')
1042
+ Book::Index::Item.new('samplebib', 1, 'sample bib')
606
1043
  end
607
1044
 
608
1045
  actual = compile_block("//bibpaper[samplebib][sample bib @<b>{bold}]{\na\nb\n//}\n")
609
- assert_equal %Q([1] sample bib \\textbf{bold}\n\\label{bib:samplebib}\n\nab\n\n), actual
1046
+ expected = <<-EOS
1047
+ [1] sample bib \\textbf{bold}
1048
+ \\label{bib:samplebib}
1049
+
1050
+ ab
1051
+
1052
+ EOS
1053
+ assert_equal expected, actual
610
1054
  end
611
1055
 
612
1056
  def test_bibpaper_without_body
613
1057
  def @chapter.bibpaper(_id)
614
- Book::BibpaperIndex::Item.new('samplebib', 1, 'sample bib')
1058
+ Book::Index::Item.new('samplebib', 1, 'sample bib')
615
1059
  end
616
1060
 
617
1061
  actual = compile_block("//bibpaper[samplebib][sample bib]\n")
618
- assert_equal %Q([1] sample bib\n\\label{bib:samplebib}\n\n), actual
1062
+ expected = <<-EOS
1063
+ [1] sample bib
1064
+ \\label{bib:samplebib}
1065
+
1066
+ EOS
1067
+ assert_equal expected, actual
619
1068
  end
620
1069
 
621
1070
  def column_helper(review)
@@ -739,8 +1188,10 @@ EOS
739
1188
  expected = <<-EOS
740
1189
 
741
1190
  \\begin{itemize}
742
- \\item AAA{-}AA
743
- \\item BBB{-}BB
1191
+ \\item AAA
1192
+ {-}AA
1193
+ \\item BBB
1194
+ {-}BB
744
1195
  \\end{itemize}
745
1196
  EOS
746
1197
  actual = compile_block(src)
@@ -832,35 +1283,115 @@ EOS
832
1283
 
833
1284
  def test_major_blocks
834
1285
  actual = compile_block("//note{\nA\n\nB\n//}\n//note[caption]{\nA\n//}")
835
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1286
+ expected = <<-EOS
1287
+ \\begin{reviewminicolumn}
1288
+ A
1289
+
1290
+ B
1291
+ \\end{reviewminicolumn}
1292
+ \\begin{reviewminicolumn}
1293
+ \\reviewminicolumntitle{caption}
1294
+ A
1295
+ \\end{reviewminicolumn}
1296
+ EOS
836
1297
  assert_equal expected, actual
837
1298
 
838
1299
  actual = compile_block("//memo{\nA\n\nB\n//}\n//memo[caption]{\nA\n//}")
839
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1300
+ expected = <<-EOS
1301
+ \\begin{reviewminicolumn}
1302
+ A
1303
+
1304
+ B
1305
+ \\end{reviewminicolumn}
1306
+ \\begin{reviewminicolumn}
1307
+ \\reviewminicolumntitle{caption}
1308
+ A
1309
+ \\end{reviewminicolumn}
1310
+ EOS
840
1311
  assert_equal expected, actual
841
1312
 
842
1313
  actual = compile_block("//info{\nA\n\nB\n//}\n//info[caption]{\nA\n//}")
843
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1314
+ expected = <<-EOS
1315
+ \\begin{reviewminicolumn}
1316
+ A
1317
+
1318
+ B
1319
+ \\end{reviewminicolumn}
1320
+ \\begin{reviewminicolumn}
1321
+ \\reviewminicolumntitle{caption}
1322
+ A
1323
+ \\end{reviewminicolumn}
1324
+ EOS
844
1325
  assert_equal expected, actual
845
1326
 
846
1327
  actual = compile_block("//important{\nA\n\nB\n//}\n//important[caption]{\nA\n//}")
847
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1328
+ expected = <<-EOS
1329
+ \\begin{reviewminicolumn}
1330
+ A
1331
+
1332
+ B
1333
+ \\end{reviewminicolumn}
1334
+ \\begin{reviewminicolumn}
1335
+ \\reviewminicolumntitle{caption}
1336
+ A
1337
+ \\end{reviewminicolumn}
1338
+ EOS
848
1339
  assert_equal expected, actual
849
1340
 
850
1341
  actual = compile_block("//caution{\nA\n\nB\n//}\n//caution[caption]{\nA\n//}")
851
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1342
+ expected = <<-EOS
1343
+ \\begin{reviewminicolumn}
1344
+ A
1345
+
1346
+ B
1347
+ \\end{reviewminicolumn}
1348
+ \\begin{reviewminicolumn}
1349
+ \\reviewminicolumntitle{caption}
1350
+ A
1351
+ \\end{reviewminicolumn}
1352
+ EOS
852
1353
  assert_equal expected, actual
853
1354
 
854
1355
  actual = compile_block("//notice{\nA\n\nB\n//}\n//notice[caption]{\nA\n//}")
855
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1356
+ expected = <<-EOS
1357
+ \\begin{reviewminicolumn}
1358
+ A
1359
+
1360
+ B
1361
+ \\end{reviewminicolumn}
1362
+ \\begin{reviewminicolumn}
1363
+ \\reviewminicolumntitle{caption}
1364
+ A
1365
+ \\end{reviewminicolumn}
1366
+ EOS
856
1367
  assert_equal expected, actual
857
1368
 
858
1369
  actual = compile_block("//warning{\nA\n\nB\n//}\n//warning[caption]{\nA\n//}")
859
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1370
+ expected = <<-EOS
1371
+ \\begin{reviewminicolumn}
1372
+ A
1373
+
1374
+ B
1375
+ \\end{reviewminicolumn}
1376
+ \\begin{reviewminicolumn}
1377
+ \\reviewminicolumntitle{caption}
1378
+ A
1379
+ \\end{reviewminicolumn}
1380
+ EOS
860
1381
  assert_equal expected, actual
861
1382
 
862
1383
  actual = compile_block("//tip{\nA\n\nB\n//}\n//tip[caption]{\nA\n//}")
863
- expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
1384
+ expected = <<-EOS
1385
+ \\begin{reviewminicolumn}
1386
+ A
1387
+
1388
+ B
1389
+ \\end{reviewminicolumn}
1390
+ \\begin{reviewminicolumn}
1391
+ \\reviewminicolumntitle{caption}
1392
+ A
1393
+ \\end{reviewminicolumn}
1394
+ EOS
864
1395
  assert_equal expected, actual
865
1396
  end
866
1397
 
@@ -895,24 +1426,24 @@ EOS
895
1426
 
896
1427
  def test_inline_imgref
897
1428
  def @chapter.image(_id)
898
- item = Book::ImageIndex::Item.new('sampleimg', 1, 'sample photo')
1429
+ item = Book::Index::Item.new('sampleimg', 1, 'sample photo')
899
1430
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
900
1431
  item
901
1432
  end
902
1433
 
903
- actual = compile_block "@<imgref>{sampleimg}\n"
1434
+ actual = compile_block("@<imgref>{sampleimg}\n")
904
1435
  expected = "\n\\reviewimageref{1.1}{image:chap1:sampleimg}「sample photo」\n"
905
1436
  assert_equal expected, actual
906
1437
  end
907
1438
 
908
1439
  def test_inline_imgref2
909
1440
  def @chapter.image(_id)
910
- item = Book::NumberlessImageIndex::Item.new('sampleimg', 1)
1441
+ item = Book::Index::Item.new('sampleimg', 1)
911
1442
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
912
1443
  item
913
1444
  end
914
1445
 
915
- actual = compile_block "@<imgref>{sampleimg}\n"
1446
+ actual = compile_block("@<imgref>{sampleimg}\n")
916
1447
  expected = "\n\\reviewimageref{1.1}{image:chap1:sampleimg}\n"
917
1448
  assert_equal expected, actual
918
1449
  end
@@ -1051,7 +1582,7 @@ EOS
1051
1582
  end
1052
1583
 
1053
1584
  def @chapter.image(_id)
1054
- item = Book::NumberlessImageIndex::Item.new('sampleimg', 1)
1585
+ item = Book::Index::Item.new('sampleimg', 1)
1055
1586
  item.instance_eval { @path = './images/chap1-sampleimg.png' }
1056
1587
  item
1057
1588
  end