review 4.2.0 → 5.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-win.yml +11 -5
- data/.rubocop.yml +113 -24
- data/NEWS.ja.md +94 -0
- data/NEWS.md +94 -0
- data/bin/review-catalog-converter +1 -1
- data/bin/review-check +2 -4
- data/bin/review-checkdep +1 -1
- data/bin/review-compile +8 -14
- data/bin/review-validate +1 -1
- data/doc/config.yml.sample +4 -1
- data/doc/config.yml.sample-simple +1 -1
- data/doc/format.ja.md +83 -4
- data/doc/format.md +84 -7
- data/doc/makeindex.ja.md +2 -2
- data/doc/quickstart.ja.md +3 -3
- data/doc/quickstart.md +2 -2
- data/lib/epubmaker/content.rb +3 -2
- data/lib/epubmaker/epubcommon.rb +33 -25
- data/lib/epubmaker/epubv2.rb +5 -6
- data/lib/epubmaker/epubv3.rb +20 -18
- data/lib/review/book.rb +2 -2
- data/lib/review/book/base.rb +61 -25
- data/lib/review/book/bib.rb +21 -0
- data/lib/review/book/book_unit.rb +155 -0
- data/lib/review/book/chapter.rb +30 -26
- data/lib/review/book/index.rb +23 -185
- data/lib/review/book/index/item.rb +7 -1
- data/lib/review/book/part.rb +21 -9
- data/lib/review/book/volume.rb +1 -1
- data/lib/review/builder.rb +68 -13
- data/lib/review/catalog.rb +2 -2
- data/lib/review/compiler.rb +159 -73
- data/lib/review/configure.rb +22 -1
- data/lib/review/converter.rb +1 -1
- data/lib/review/epub2html.rb +6 -1
- data/lib/review/epubmaker.rb +12 -23
- data/lib/review/htmlbuilder.rb +36 -7
- data/lib/review/htmlutils.rb +7 -10
- data/lib/review/i18n.rb +1 -1
- data/lib/review/idgxmlbuilder.rb +51 -6
- data/lib/review/idgxmlmaker.rb +9 -14
- data/lib/review/index_builder.rb +653 -0
- data/lib/review/init.rb +5 -13
- data/lib/review/latexbuilder.rb +65 -4
- data/lib/review/logger.rb +2 -2
- data/lib/review/makerhelper.rb +11 -0
- data/lib/review/markdownbuilder.rb +19 -1
- data/lib/review/pdfmaker.rb +17 -36
- data/lib/review/plaintextbuilder.rb +48 -2
- data/lib/review/preprocessor.rb +5 -5
- data/lib/review/rstbuilder.rb +25 -6
- data/lib/review/sec_counter.rb +13 -0
- data/lib/review/textmaker.rb +4 -12
- data/lib/review/tocprinter.rb +2 -3
- data/lib/review/topbuilder.rb +26 -0
- data/lib/review/update.rb +7 -7
- data/lib/review/version.rb +1 -1
- data/lib/review/volumeprinter.rb +2 -3
- data/lib/review/webmaker.rb +9 -20
- data/review.gemspec +2 -2
- data/samples/sample-book/src/config.yml +1 -1
- data/samples/syntax-book/Gemfile +1 -1
- data/samples/syntax-book/config.yml +1 -1
- data/templates/latex/config.erb +27 -23
- data/templates/latex/review-jlreq/README.md +3 -1
- data/templates/latex/review-jlreq/review-base.sty +31 -15
- data/templates/latex/review-jlreq/review-jlreq.cls +8 -24
- data/templates/latex/review-jsbook/README.md +7 -5
- data/templates/latex/review-jsbook/review-base.sty +34 -16
- data/templates/latex/review-jsbook/review-jsbook.cls +4 -2
- data/templates/web/html/layout-html5.html.erb +1 -1
- data/test/assets/test_template.tex +3 -3
- data/test/assets/test_template_backmatter.tex +3 -3
- data/test/book_test_helper.rb +11 -5
- data/test/test_book.rb +54 -63
- data/test/test_book_chapter.rb +93 -52
- data/test/test_builder.rb +24 -15
- data/test/test_converter.rb +1 -0
- data/test/test_epub3maker.rb +2 -2
- data/test/test_epubmaker.rb +8 -0
- data/test/test_helper.rb +4 -1
- data/test/test_htmlbuilder.rb +627 -56
- data/test/test_htmlutils.rb +0 -12
- data/test/test_i18n.rb +33 -33
- data/test/test_idgxmlbuilder.rb +358 -11
- data/test/test_idgxmlmaker_cmd.rb +1 -1
- data/test/test_index.rb +62 -52
- data/test/test_indexbuilder.rb +52 -0
- data/test/test_latexbuilder.rb +547 -10
- data/test/test_latexbuilder_v2.rb +43 -5
- data/test/test_logger.rb +7 -7
- data/test/test_makerhelper.rb +0 -12
- data/test/test_markdownbuilder.rb +3 -0
- data/test/test_pdfmaker.rb +13 -12
- data/test/test_pdfmaker_cmd.rb +1 -1
- data/test/test_plaintextbuilder.rb +422 -7
- data/test/test_review_ext.rb +2 -1
- data/test/test_rstbuilder.rb +25 -1
- data/test/test_sec_counter.rb +156 -0
- data/test/test_textmaker_cmd.rb +1 -1
- data/test/test_topbuilder.rb +187 -10
- data/test/test_update.rb +10 -10
- data/test/test_webtocprinter.rb +12 -12
- data/vendor/gentombow/LICENSE +1 -1
- data/vendor/gentombow/Makefile +0 -1
- data/vendor/gentombow/bounddvi-en.pdf +0 -0
- data/vendor/gentombow/bounddvi-en.tex +1 -0
- data/vendor/gentombow/bounddvi.pdf +0 -0
- data/vendor/gentombow/bounddvi.sty +30 -7
- data/vendor/gentombow/bounddvi.tex +1 -0
- data/vendor/gentombow/create_archive.sh +1 -0
- data/vendor/gentombow/gentombow-ja.pdf +0 -0
- data/vendor/gentombow/gentombow-ja.tex +9 -0
- data/vendor/gentombow/gentombow.pdf +0 -0
- data/vendor/gentombow/gentombow.sty +32 -10
- data/vendor/gentombow/gentombow.tex +8 -0
- data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
- data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
- data/vendor/jsclasses/Makefile +3 -2
- data/vendor/jsclasses/create_archive.sh +5 -5
- data/vendor/jsclasses/jis/Makefile +3 -2
- data/vendor/jsclasses/jis/jsarticle.cls +22 -18
- data/vendor/jsclasses/jis/jsbook.cls +22 -18
- data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
- data/vendor/jsclasses/jis/jsclasses.ins +15 -5
- data/vendor/jsclasses/jis/jslogo.ins +9 -0
- data/vendor/jsclasses/jis/jslogo.sty +1 -13
- data/vendor/jsclasses/jis/jspf.cls +22 -18
- data/vendor/jsclasses/jis/jsreport.cls +22 -18
- data/vendor/jsclasses/jis/jsverb.ins +9 -0
- data/vendor/jsclasses/jis/jsverb.sty +1 -13
- data/vendor/jsclasses/jis/kiyou.cls +22 -18
- data/vendor/jsclasses/jis/minijs.sty +65 -22
- data/vendor/jsclasses/jis/okumacro.ins +9 -0
- data/vendor/jsclasses/jis/okumacro.sty +1 -13
- data/vendor/jsclasses/jis/okuverb.ins +9 -0
- data/vendor/jsclasses/jis/okuverb.sty +1 -13
- data/vendor/jsclasses/jis/winjis.sty +23 -19
- data/vendor/jsclasses/jsarticle.cls +22 -18
- data/vendor/jsclasses/jsbook.cls +22 -18
- data/vendor/jsclasses/jsclasses.dtx +94 -13
- data/vendor/jsclasses/jsclasses.ins +15 -5
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.ins +9 -0
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +1 -13
- data/vendor/jsclasses/jspf.cls +22 -18
- data/vendor/jsclasses/jsreport.cls +22 -18
- data/vendor/jsclasses/jsverb.ins +9 -0
- data/vendor/jsclasses/jsverb.pdf +0 -0
- data/vendor/jsclasses/jsverb.sty +1 -13
- data/vendor/jsclasses/kiyou.cls +22 -18
- data/vendor/jsclasses/minijs.sty +68 -22
- data/vendor/jsclasses/okumacro.ins +9 -0
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +1 -13
- data/vendor/jsclasses/okuverb.ins +9 -0
- data/vendor/jsclasses/okuverb.pdf +0 -0
- data/vendor/jsclasses/okuverb.sty +1 -13
- data/vendor/jsclasses/tests/relfont.tex +10 -0
- data/vendor/jsclasses/winjis.sty +23 -19
- metadata +14 -6
- data/.rubocop_todo.yml +0 -7
- data/lib/review/book/compilable.rb +0 -174
data/test/test_review_ext.rb
CHANGED
data/test/test_rstbuilder.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
2
|
require 'review/compiler'
|
|
3
3
|
require 'review/book'
|
|
4
|
-
require 'review/
|
|
4
|
+
require 'review/rstbuilder'
|
|
5
5
|
require 'review/i18n'
|
|
6
6
|
|
|
7
7
|
class RSTBuidlerTest < Test::Unit::TestCase
|
|
@@ -327,13 +327,16 @@ EOS
|
|
|
327
327
|
.. note::
|
|
328
328
|
|
|
329
329
|
A
|
|
330
|
+
|
|
330
331
|
B
|
|
331
332
|
|
|
333
|
+
|
|
332
334
|
.. note::
|
|
333
335
|
|
|
334
336
|
caption
|
|
335
337
|
A
|
|
336
338
|
|
|
339
|
+
|
|
337
340
|
EOS
|
|
338
341
|
assert_equal expected, actual
|
|
339
342
|
|
|
@@ -342,13 +345,16 @@ EOS
|
|
|
342
345
|
.. memo::
|
|
343
346
|
|
|
344
347
|
A
|
|
348
|
+
|
|
345
349
|
B
|
|
346
350
|
|
|
351
|
+
|
|
347
352
|
.. memo::
|
|
348
353
|
|
|
349
354
|
caption
|
|
350
355
|
A
|
|
351
356
|
|
|
357
|
+
|
|
352
358
|
EOS
|
|
353
359
|
assert_equal expected, actual
|
|
354
360
|
|
|
@@ -357,13 +363,16 @@ EOS
|
|
|
357
363
|
.. info::
|
|
358
364
|
|
|
359
365
|
A
|
|
366
|
+
|
|
360
367
|
B
|
|
361
368
|
|
|
369
|
+
|
|
362
370
|
.. info::
|
|
363
371
|
|
|
364
372
|
caption
|
|
365
373
|
A
|
|
366
374
|
|
|
375
|
+
|
|
367
376
|
EOS
|
|
368
377
|
assert_equal expected, actual
|
|
369
378
|
|
|
@@ -372,13 +381,16 @@ EOS
|
|
|
372
381
|
.. important::
|
|
373
382
|
|
|
374
383
|
A
|
|
384
|
+
|
|
375
385
|
B
|
|
376
386
|
|
|
387
|
+
|
|
377
388
|
.. important::
|
|
378
389
|
|
|
379
390
|
caption
|
|
380
391
|
A
|
|
381
392
|
|
|
393
|
+
|
|
382
394
|
EOS
|
|
383
395
|
assert_equal expected, actual
|
|
384
396
|
|
|
@@ -387,13 +399,16 @@ EOS
|
|
|
387
399
|
.. caution::
|
|
388
400
|
|
|
389
401
|
A
|
|
402
|
+
|
|
390
403
|
B
|
|
391
404
|
|
|
405
|
+
|
|
392
406
|
.. caution::
|
|
393
407
|
|
|
394
408
|
caption
|
|
395
409
|
A
|
|
396
410
|
|
|
411
|
+
|
|
397
412
|
EOS
|
|
398
413
|
assert_equal expected, actual
|
|
399
414
|
|
|
@@ -402,13 +417,16 @@ EOS
|
|
|
402
417
|
.. notice::
|
|
403
418
|
|
|
404
419
|
A
|
|
420
|
+
|
|
405
421
|
B
|
|
406
422
|
|
|
423
|
+
|
|
407
424
|
.. notice::
|
|
408
425
|
|
|
409
426
|
caption
|
|
410
427
|
A
|
|
411
428
|
|
|
429
|
+
|
|
412
430
|
EOS
|
|
413
431
|
assert_equal expected, actual
|
|
414
432
|
|
|
@@ -417,13 +435,16 @@ EOS
|
|
|
417
435
|
.. warning::
|
|
418
436
|
|
|
419
437
|
A
|
|
438
|
+
|
|
420
439
|
B
|
|
421
440
|
|
|
441
|
+
|
|
422
442
|
.. warning::
|
|
423
443
|
|
|
424
444
|
caption
|
|
425
445
|
A
|
|
426
446
|
|
|
447
|
+
|
|
427
448
|
EOS
|
|
428
449
|
assert_equal expected, actual
|
|
429
450
|
|
|
@@ -432,13 +453,16 @@ EOS
|
|
|
432
453
|
.. tip::
|
|
433
454
|
|
|
434
455
|
A
|
|
456
|
+
|
|
435
457
|
B
|
|
436
458
|
|
|
459
|
+
|
|
437
460
|
.. tip::
|
|
438
461
|
|
|
439
462
|
caption
|
|
440
463
|
A
|
|
441
464
|
|
|
465
|
+
|
|
442
466
|
EOS
|
|
443
467
|
assert_equal expected, actual
|
|
444
468
|
end
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'book_test_helper'
|
|
3
|
+
require 'review/sec_counter'
|
|
4
|
+
|
|
5
|
+
class SecCounterTest < Test::Unit::TestCase
|
|
6
|
+
include ReVIEW
|
|
7
|
+
|
|
8
|
+
def setup
|
|
9
|
+
@book = Book::Base.new
|
|
10
|
+
@io = StringIO.new("= sample\n\n")
|
|
11
|
+
@chapter = Book::Chapter.new(@book, 1, 'foo', '-', @io)
|
|
12
|
+
@part = Book::Part.new(@book, 1, [], 'name')
|
|
13
|
+
I18n.setup
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_initialize
|
|
17
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
18
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
19
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
20
|
+
assert_equal('1-0', @sec_counter.anchor(2))
|
|
21
|
+
assert_equal('1-0-0', @sec_counter.anchor(3))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_anchor1
|
|
25
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
26
|
+
@sec_counter.inc(3)
|
|
27
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
28
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
29
|
+
assert_equal('1-0', @sec_counter.anchor(2))
|
|
30
|
+
assert_equal('1-0-1', @sec_counter.anchor(3))
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_anchor2
|
|
34
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
35
|
+
@sec_counter.inc(2)
|
|
36
|
+
@sec_counter.inc(3)
|
|
37
|
+
@sec_counter.inc(3)
|
|
38
|
+
@sec_counter.inc(4)
|
|
39
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
40
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
41
|
+
assert_equal('1-1', @sec_counter.anchor(2))
|
|
42
|
+
assert_equal('1-1-2', @sec_counter.anchor(3))
|
|
43
|
+
assert_equal('1-1-2-1', @sec_counter.anchor(4))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_anchor3
|
|
47
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
48
|
+
@sec_counter.inc(2)
|
|
49
|
+
@sec_counter.inc(3)
|
|
50
|
+
@sec_counter.inc(3)
|
|
51
|
+
@sec_counter.inc(4)
|
|
52
|
+
@sec_counter.inc(3)
|
|
53
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
54
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
55
|
+
assert_equal('1-1', @sec_counter.anchor(2))
|
|
56
|
+
assert_equal('1-1-3', @sec_counter.anchor(3))
|
|
57
|
+
assert_equal('1-1-3-0', @sec_counter.anchor(4))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_anchor4
|
|
61
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
62
|
+
@sec_counter.inc(2)
|
|
63
|
+
@sec_counter.inc(2)
|
|
64
|
+
@sec_counter.inc(2)
|
|
65
|
+
@sec_counter.inc(3)
|
|
66
|
+
@sec_counter.inc(3)
|
|
67
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
68
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
69
|
+
assert_equal('1-3', @sec_counter.anchor(2))
|
|
70
|
+
assert_equal('1-3-2', @sec_counter.anchor(3))
|
|
71
|
+
assert_equal('1-3-2-0', @sec_counter.anchor(4))
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_anchor_part1
|
|
75
|
+
@sec_counter = SecCounter.new(5, @part)
|
|
76
|
+
@sec_counter.inc(3)
|
|
77
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
78
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
79
|
+
assert_equal('1-0', @sec_counter.anchor(2))
|
|
80
|
+
assert_equal('1-0-1', @sec_counter.anchor(3))
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_anchor_part3
|
|
84
|
+
@sec_counter = SecCounter.new(5, @part)
|
|
85
|
+
@sec_counter.inc(2)
|
|
86
|
+
@sec_counter.inc(3)
|
|
87
|
+
@sec_counter.inc(3)
|
|
88
|
+
@sec_counter.inc(4)
|
|
89
|
+
@sec_counter.inc(3)
|
|
90
|
+
assert_equal('1', @sec_counter.anchor(0))
|
|
91
|
+
assert_equal('1', @sec_counter.anchor(1))
|
|
92
|
+
assert_equal('1-1', @sec_counter.anchor(2))
|
|
93
|
+
assert_equal('1-1-3', @sec_counter.anchor(3))
|
|
94
|
+
assert_equal('1-1-3-0', @sec_counter.anchor(4))
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def test_prefix1
|
|
98
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
99
|
+
@sec_counter.inc(2)
|
|
100
|
+
assert_equal('1.1 ', @sec_counter.prefix(2, 3))
|
|
101
|
+
assert_equal('1.1.0 ', @sec_counter.prefix(3, 3))
|
|
102
|
+
assert_equal('1.1.0 ', @sec_counter.prefix(3, 5))
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def test_prefix2
|
|
106
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
107
|
+
@sec_counter.inc(2)
|
|
108
|
+
@sec_counter.inc(3)
|
|
109
|
+
@sec_counter.inc(3)
|
|
110
|
+
@sec_counter.inc(4)
|
|
111
|
+
assert_equal('1.1 ', @sec_counter.prefix(2, 5))
|
|
112
|
+
assert_equal('1.1 ', @sec_counter.prefix(2, 5))
|
|
113
|
+
assert_equal(nil, @sec_counter.prefix(2, 1))
|
|
114
|
+
assert_equal('1.1.2 ', @sec_counter.prefix(3, 5))
|
|
115
|
+
assert_equal('1.1.2 ', @sec_counter.prefix(3, 3))
|
|
116
|
+
assert_equal(nil, @sec_counter.prefix(3, 2))
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def test_prefix3
|
|
120
|
+
@sec_counter = SecCounter.new(5, @chapter)
|
|
121
|
+
@sec_counter.inc(2)
|
|
122
|
+
@sec_counter.inc(3)
|
|
123
|
+
@sec_counter.inc(3)
|
|
124
|
+
@sec_counter.inc(4)
|
|
125
|
+
@sec_counter.inc(3)
|
|
126
|
+
assert_equal('1.1 ', @sec_counter.prefix(2, 5))
|
|
127
|
+
assert_equal('1.1 ', @sec_counter.prefix(2, 5))
|
|
128
|
+
assert_equal(nil, @sec_counter.prefix(2, 1))
|
|
129
|
+
assert_equal('1.1.3 ', @sec_counter.prefix(3, 5))
|
|
130
|
+
assert_equal('1.1.3 ', @sec_counter.prefix(3, 3))
|
|
131
|
+
assert_equal(nil, @sec_counter.prefix(3, 2))
|
|
132
|
+
assert_equal('1.1.3.0 ', @sec_counter.prefix(4, 5))
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def test_prefix_part1
|
|
136
|
+
@sec_counter = SecCounter.new(5, @part)
|
|
137
|
+
@sec_counter.inc(2)
|
|
138
|
+
assert_equal('I.1 ', @sec_counter.prefix(2, 3))
|
|
139
|
+
assert_equal('I.1.0 ', @sec_counter.prefix(3, 3))
|
|
140
|
+
assert_equal('I.1.0 ', @sec_counter.prefix(3, 5))
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def test_prefix_part2
|
|
144
|
+
@sec_counter = SecCounter.new(5, @part)
|
|
145
|
+
@sec_counter.inc(2)
|
|
146
|
+
@sec_counter.inc(3)
|
|
147
|
+
@sec_counter.inc(3)
|
|
148
|
+
@sec_counter.inc(4)
|
|
149
|
+
assert_equal('I.1 ', @sec_counter.prefix(2, 5))
|
|
150
|
+
assert_equal('I.1 ', @sec_counter.prefix(2, 5))
|
|
151
|
+
assert_equal(nil, @sec_counter.prefix(2, 1))
|
|
152
|
+
assert_equal('I.1.2 ', @sec_counter.prefix(3, 5))
|
|
153
|
+
assert_equal('I.1.2 ', @sec_counter.prefix(3, 3))
|
|
154
|
+
assert_equal(nil, @sec_counter.prefix(3, 2))
|
|
155
|
+
end
|
|
156
|
+
end
|
data/test/test_textmaker_cmd.rb
CHANGED
|
@@ -29,7 +29,7 @@ class TEXTMakerCmdTest < Test::Unit::TestCase
|
|
|
29
29
|
ruby_cmd = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) + RbConfig::CONFIG['EXEEXT']
|
|
30
30
|
Dir.chdir(@tmpdir1) do
|
|
31
31
|
_o, e, s = Open3.capture3("#{ruby_cmd} -S #{REVIEW_TEXTMAKER} #{option} #{configfile}")
|
|
32
|
-
|
|
32
|
+
assert_equal '', e
|
|
33
33
|
assert s.success?
|
|
34
34
|
end
|
|
35
35
|
assert File.exist?(File.join(@tmpdir1, targetfile))
|
data/test/test_topbuilder.rb
CHANGED
|
@@ -175,11 +175,11 @@ EOS
|
|
|
175
175
|
end
|
|
176
176
|
|
|
177
177
|
def test_dt_inline
|
|
178
|
-
|
|
179
|
-
@chapter.instance_eval { @footnote_index = fn }
|
|
180
|
-
actual = compile_block(" : foo@<fn>{bar}[]<>&@<m>$\\alpha[]$\n")
|
|
178
|
+
actual = compile_block("//footnote[bar][bar]\n\n : foo@<fn>{bar}[]<>&@<m>$\\alpha[]$\n")
|
|
181
179
|
|
|
182
180
|
expected = <<-EOS
|
|
181
|
+
【注1】bar
|
|
182
|
+
|
|
183
183
|
★foo【注1】[]<>&◆→TeX式ここから←◆\\alpha[]◆→TeX式ここまで←◆☆
|
|
184
184
|
|
|
185
185
|
|
|
@@ -533,10 +533,10 @@ EOS
|
|
|
533
533
|
end
|
|
534
534
|
|
|
535
535
|
def test_empty_table
|
|
536
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
536
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("//table{\n//}\n") }
|
|
537
537
|
assert_equal ':2: error: no rows in the table', e.message
|
|
538
538
|
|
|
539
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
539
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("//table{\n------------\n//}\n") }
|
|
540
540
|
assert_equal ':3: error: no rows in the table', e.message
|
|
541
541
|
end
|
|
542
542
|
|
|
@@ -735,6 +735,183 @@ EOS
|
|
|
735
735
|
assert_equal expected, actual
|
|
736
736
|
end
|
|
737
737
|
|
|
738
|
+
def test_minicolumn_blocks
|
|
739
|
+
titles = {
|
|
740
|
+
'note' => 'ノート',
|
|
741
|
+
'memo' => 'メモ',
|
|
742
|
+
'important' => '重要',
|
|
743
|
+
'info' => '情報',
|
|
744
|
+
'notice' => '注意',
|
|
745
|
+
'caution' => '警告',
|
|
746
|
+
'warning' => '危険',
|
|
747
|
+
'tip' => 'TIP'
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
%w[note memo tip info warning important caution notice].each do |type|
|
|
751
|
+
@builder.doc_status.clear
|
|
752
|
+
src = <<-EOS
|
|
753
|
+
//#{type}[#{type}1]{
|
|
754
|
+
|
|
755
|
+
//}
|
|
756
|
+
|
|
757
|
+
//#{type}[#{type}2]{
|
|
758
|
+
//}
|
|
759
|
+
EOS
|
|
760
|
+
|
|
761
|
+
expected = <<-EOS
|
|
762
|
+
◆→開始:#{titles[type]}←◆
|
|
763
|
+
■#{type}1
|
|
764
|
+
◆→終了:#{titles[type]}←◆
|
|
765
|
+
|
|
766
|
+
◆→開始:#{titles[type]}←◆
|
|
767
|
+
■#{type}2
|
|
768
|
+
◆→終了:#{titles[type]}←◆
|
|
769
|
+
|
|
770
|
+
EOS
|
|
771
|
+
assert_equal expected, compile_block(src)
|
|
772
|
+
|
|
773
|
+
src = <<-EOS
|
|
774
|
+
//#{type}[#{type}2]{
|
|
775
|
+
|
|
776
|
+
//}
|
|
777
|
+
|
|
778
|
+
//#{type}[#{type}3]{
|
|
779
|
+
|
|
780
|
+
//}
|
|
781
|
+
|
|
782
|
+
//#{type}[#{type}4]{
|
|
783
|
+
|
|
784
|
+
//}
|
|
785
|
+
|
|
786
|
+
//#{type}[#{type}5]{
|
|
787
|
+
|
|
788
|
+
//}
|
|
789
|
+
|
|
790
|
+
//#{type}[#{type}6]{
|
|
791
|
+
|
|
792
|
+
//}
|
|
793
|
+
EOS
|
|
794
|
+
|
|
795
|
+
expected = <<-EOS
|
|
796
|
+
◆→開始:#{titles[type]}←◆
|
|
797
|
+
■#{type}2
|
|
798
|
+
◆→終了:#{titles[type]}←◆
|
|
799
|
+
|
|
800
|
+
◆→開始:#{titles[type]}←◆
|
|
801
|
+
■#{type}3
|
|
802
|
+
◆→終了:#{titles[type]}←◆
|
|
803
|
+
|
|
804
|
+
◆→開始:#{titles[type]}←◆
|
|
805
|
+
■#{type}4
|
|
806
|
+
◆→終了:#{titles[type]}←◆
|
|
807
|
+
|
|
808
|
+
◆→開始:#{titles[type]}←◆
|
|
809
|
+
■#{type}5
|
|
810
|
+
◆→終了:#{titles[type]}←◆
|
|
811
|
+
|
|
812
|
+
◆→開始:#{titles[type]}←◆
|
|
813
|
+
■#{type}6
|
|
814
|
+
◆→終了:#{titles[type]}←◆
|
|
815
|
+
|
|
816
|
+
EOS
|
|
817
|
+
assert_equal expected, compile_block(src)
|
|
818
|
+
|
|
819
|
+
src = <<-EOS
|
|
820
|
+
//#{type}{
|
|
821
|
+
|
|
822
|
+
* A
|
|
823
|
+
|
|
824
|
+
1. B
|
|
825
|
+
|
|
826
|
+
//}
|
|
827
|
+
|
|
828
|
+
//#{type}[OMITEND1]{
|
|
829
|
+
|
|
830
|
+
//emlist{
|
|
831
|
+
LIST
|
|
832
|
+
//}
|
|
833
|
+
|
|
834
|
+
//}
|
|
835
|
+
//#{type}[OMITEND2]{
|
|
836
|
+
//}
|
|
837
|
+
EOS
|
|
838
|
+
|
|
839
|
+
expected = <<-EOS
|
|
840
|
+
◆→開始:#{titles[type]}←◆
|
|
841
|
+
|
|
842
|
+
● A
|
|
843
|
+
|
|
844
|
+
1 B
|
|
845
|
+
|
|
846
|
+
◆→終了:#{titles[type]}←◆
|
|
847
|
+
|
|
848
|
+
◆→開始:#{titles[type]}←◆
|
|
849
|
+
■OMITEND1
|
|
850
|
+
|
|
851
|
+
◆→開始:インラインリスト←◆
|
|
852
|
+
LIST
|
|
853
|
+
◆→終了:インラインリスト←◆
|
|
854
|
+
|
|
855
|
+
◆→終了:#{titles[type]}←◆
|
|
856
|
+
|
|
857
|
+
◆→開始:#{titles[type]}←◆
|
|
858
|
+
■OMITEND2
|
|
859
|
+
◆→終了:#{titles[type]}←◆
|
|
860
|
+
|
|
861
|
+
EOS
|
|
862
|
+
assert_equal expected, compile_block(src)
|
|
863
|
+
end
|
|
864
|
+
end
|
|
865
|
+
|
|
866
|
+
def test_minicolumn_blocks_nest_error1
|
|
867
|
+
%w[note memo tip info warning important caution notice].each do |type|
|
|
868
|
+
@builder.doc_status.clear
|
|
869
|
+
src = <<-EOS
|
|
870
|
+
//#{type}{
|
|
871
|
+
|
|
872
|
+
//#{type}{
|
|
873
|
+
//}
|
|
874
|
+
|
|
875
|
+
//}
|
|
876
|
+
EOS
|
|
877
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
|
|
878
|
+
assert_match(/minicolumn cannot be nested:/, e.message)
|
|
879
|
+
end
|
|
880
|
+
end
|
|
881
|
+
|
|
882
|
+
def test_minicolumn_blocks_nest_error2
|
|
883
|
+
%w[note memo tip info warning important caution notice].each do |type|
|
|
884
|
+
@builder.doc_status.clear
|
|
885
|
+
src = <<-EOS
|
|
886
|
+
//#{type}{
|
|
887
|
+
|
|
888
|
+
//#{type}{
|
|
889
|
+
|
|
890
|
+
//}
|
|
891
|
+
|
|
892
|
+
//}
|
|
893
|
+
EOS
|
|
894
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
|
|
895
|
+
assert_match(/minicolumn cannot be nested:/, e.message)
|
|
896
|
+
end
|
|
897
|
+
end
|
|
898
|
+
|
|
899
|
+
def test_minicolumn_blocks_nest_error3
|
|
900
|
+
%w[memo tip info warning important caution notice].each do |type|
|
|
901
|
+
@builder.doc_status.clear
|
|
902
|
+
src = <<-EOS
|
|
903
|
+
//#{type}{
|
|
904
|
+
|
|
905
|
+
//note{
|
|
906
|
+
//}
|
|
907
|
+
|
|
908
|
+
//}
|
|
909
|
+
EOS
|
|
910
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block(src) }
|
|
911
|
+
assert_match(/minicolumn cannot be nested:/, e.message)
|
|
912
|
+
end
|
|
913
|
+
end
|
|
914
|
+
|
|
738
915
|
def test_image
|
|
739
916
|
def @chapter.image(_id)
|
|
740
917
|
item = Book::Index::Item.new('sampleimg', 1)
|
|
@@ -816,18 +993,18 @@ EOB
|
|
|
816
993
|
end
|
|
817
994
|
|
|
818
995
|
def test_inline_unknown
|
|
819
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
996
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<img>{n}\n") }
|
|
820
997
|
assert_equal ':1: error: unknown image: n', e.message
|
|
821
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
998
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<fn>{n}\n") }
|
|
822
999
|
assert_equal ':1: error: unknown footnote: n', e.message
|
|
823
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
1000
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<hd>{n}\n") }
|
|
824
1001
|
assert_equal ':1: error: unknown headline: n', e.message
|
|
825
1002
|
%w[list table column].each do |name|
|
|
826
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
1003
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
|
|
827
1004
|
assert_equal ":1: error: unknown #{name}: n", e.message
|
|
828
1005
|
end
|
|
829
1006
|
%w[chap chapref title].each do |name|
|
|
830
|
-
e = assert_raises(ReVIEW::ApplicationError) { compile_block
|
|
1007
|
+
e = assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") }
|
|
831
1008
|
assert_equal ':1: error: key not found: "n"', e.message
|
|
832
1009
|
end
|
|
833
1010
|
end
|