review 2.3.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +90 -66
- data/.travis.yml +1 -1
- data/Gemfile +0 -1
- data/NEWS.ja.md +82 -0
- data/NEWS.md +83 -0
- data/README.md +5 -3
- data/Rakefile +8 -8
- data/bin/review +1 -5
- data/bin/review-catalog-converter +22 -27
- data/bin/review-check +36 -43
- data/bin/review-checkdep +10 -15
- data/bin/review-compile +37 -55
- data/bin/review-epubmaker +4 -5
- data/bin/review-index +21 -29
- data/bin/review-init +26 -37
- data/bin/review-pdfmaker +0 -2
- data/bin/review-preproc +25 -45
- data/bin/review-validate +19 -18
- data/bin/review-vol +15 -27
- data/doc/config.yml.sample +5 -2
- data/doc/format.ja.md +20 -1
- data/doc/format.md +21 -5
- data/doc/images/review-generate.png +0 -0
- data/lib/epubmaker.rb +1 -3
- data/lib/epubmaker/content.rb +24 -27
- data/lib/epubmaker/epubcommon.rb +135 -148
- data/lib/epubmaker/epubv2.rb +39 -46
- data/lib/epubmaker/epubv3.rb +93 -103
- data/lib/epubmaker/producer.rb +138 -151
- data/lib/epubmaker/zip_exporter.rb +21 -26
- data/lib/review/book.rb +3 -6
- data/lib/review/book/base.rb +78 -103
- data/lib/review/book/chapter.rb +36 -40
- data/lib/review/book/compilable.rb +28 -31
- data/lib/review/book/image_finder.rb +6 -13
- data/lib/review/book/index.rb +100 -121
- data/lib/review/book/page_metric.rb +2 -7
- data/lib/review/book/part.rb +18 -20
- data/lib/review/book/volume.rb +9 -13
- data/lib/review/builder.rb +81 -116
- data/lib/review/catalog.rb +15 -19
- data/lib/review/compiler.rb +64 -83
- data/lib/review/configure.rb +87 -97
- data/lib/review/converter.rb +2 -7
- data/lib/review/epubbuilder.rb +1 -3
- data/lib/review/epubmaker.rb +213 -205
- data/lib/review/exception.rb +2 -4
- data/lib/review/extentions.rb +0 -1
- data/lib/review/extentions/hash.rb +2 -2
- data/lib/review/extentions/string.rb +5 -30
- data/lib/review/htmlbuilder.rb +320 -375
- data/lib/review/htmltoc.rb +4 -7
- data/lib/review/htmlutils.rb +29 -32
- data/lib/review/i18n.rb +33 -44
- data/lib/review/i18n.yml +3 -3
- data/lib/review/idgxmlbuilder.rb +309 -345
- data/lib/review/latexbuilder.rb +175 -212
- data/lib/review/latexindex.rb +2 -8
- data/lib/review/latexutils.rb +33 -43
- data/lib/review/lineinput.rb +1 -1
- data/lib/review/logger.rb +21 -0
- data/lib/review/makerhelper.rb +1 -4
- data/lib/review/markdownbuilder.rb +44 -53
- data/lib/review/md2inaobuilder.rb +6 -12
- data/lib/review/pdfmaker.rb +143 -173
- data/lib/review/preprocessor.rb +64 -101
- data/lib/review/rstbuilder.rb +126 -158
- data/lib/review/sec_counter.rb +18 -34
- data/lib/review/template.rb +4 -5
- data/lib/review/textbuilder.rb +2 -3
- data/lib/review/textutils.rb +7 -13
- data/lib/review/tocparser.rb +31 -56
- data/lib/review/tocprinter.rb +26 -52
- data/lib/review/topbuilder.rb +219 -247
- data/lib/review/unfold.rb +15 -24
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +75 -99
- data/lib/review/webtocprinter.rb +15 -20
- data/lib/review/yamlloader.rb +13 -15
- data/review.gemspec +20 -22
- data/templates/latex/layout.tex.erb +2 -2
- data/templates/opf/epubv2.opf.erb +7 -7
- data/templates/opf/epubv3.opf.erb +7 -7
- data/templates/web/html/layout-html5.html.erb +2 -2
- data/test/assets/black.eps +280 -0
- data/test/assets/fit.png +0 -0
- data/test/assets/large.gif +0 -0
- data/test/assets/large.jpg +0 -0
- data/test/assets/large.png +0 -0
- data/test/assets/large.svg +65 -0
- data/test/assets/test_template.tex +1 -1
- data/test/book_test_helper.rb +2 -2
- data/test/run_test.rb +4 -4
- data/test/sample-book/src/Rakefile +21 -22
- data/test/syntax-book/Gemfile +4 -0
- data/test/syntax-book/Rakefile +72 -0
- data/test/syntax-book/appA.re +22 -0
- data/test/syntax-book/bib.re +6 -0
- data/test/syntax-book/catalog.yml +15 -0
- data/test/syntax-book/ch01.re +136 -0
- data/test/syntax-book/ch02.re +351 -0
- data/test/syntax-book/ch03.re +82 -0
- data/test/syntax-book/config.yml +35 -0
- data/test/syntax-book/images/ball.png +0 -0
- data/test/syntax-book/images/cover.jpg +0 -0
- data/test/syntax-book/images/fractal.png +0 -0
- data/test/syntax-book/images/img3-1.png +0 -0
- data/test/syntax-book/images/inlineicon.jpg +0 -0
- data/test/syntax-book/images/logic.png +0 -0
- data/test/syntax-book/images/logic2.png +0 -0
- data/test/syntax-book/images/puzzle.jpg +0 -0
- data/test/syntax-book/images/table.jpg +0 -0
- data/test/syntax-book/part2.re +6 -0
- data/test/syntax-book/pre01.re +26 -0
- data/test/syntax-book/review-ext.rb +14 -0
- data/test/syntax-book/sty/jumoline.sty +310 -0
- data/test/syntax-book/sty/reviewmacro.sty +39 -0
- data/test/syntax-book/style.css +494 -0
- data/test/syntax-book/syntax.dic +2 -0
- data/test/test_book.rb +106 -111
- data/test/test_book_chapter.rb +21 -22
- data/test/test_book_part.rb +3 -5
- data/test/test_builder.rb +11 -22
- data/test/test_catalog.rb +17 -18
- data/test/test_catalog_converter_cmd.rb +5 -5
- data/test/test_compiler.rb +18 -16
- data/test/test_configure.rb +35 -38
- data/test/test_converter.rb +3 -4
- data/test/test_epub3maker.rb +136 -117
- data/test/test_epubmaker.rb +107 -114
- data/test/test_epubmaker_cmd.rb +2 -4
- data/test/test_extentions_hash.rb +32 -33
- data/test/test_helper.rb +9 -11
- data/test/test_htmlbuilder.rb +454 -420
- data/test/test_htmltoc.rb +8 -12
- data/test/test_htmlutils.rb +0 -2
- data/test/test_i18n.rb +159 -150
- data/test/test_idgxmlbuilder.rb +190 -197
- data/test/test_image_finder.rb +21 -22
- data/test/test_index.rb +24 -29
- data/test/test_latexbuilder.rb +274 -264
- data/test/test_lineinput.rb +7 -10
- data/test/test_location.rb +7 -7
- data/test/test_makerhelper.rb +13 -25
- data/test/test_markdownbuilder.rb +23 -26
- data/test/test_md2inaobuilder.rb +8 -11
- data/test/test_pdfmaker.rb +114 -123
- data/test/test_pdfmaker_cmd.rb +1 -3
- data/test/test_review_ext.rb +3 -5
- data/test/test_rstbuilder.rb +92 -97
- data/test/test_template.rb +3 -7
- data/test/test_textutils.rb +27 -27
- data/test/test_tocparser.rb +2 -2
- data/test/test_topbuilder.rb +98 -103
- data/test/test_webtocprinter.rb +5 -6
- data/test/test_yamlloader.rb +42 -42
- data/test/test_zip_exporter.rb +12 -18
- metadata +86 -9
- data/lib/review/ewbbuilder.rb +0 -382
data/test/test_textutils.rb
CHANGED
@@ -28,51 +28,51 @@ class TextUtilsTest < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
def test_detab
|
30
30
|
detabed = detab("\t\tabc")
|
31
|
-
assert_equal
|
31
|
+
assert_equal ' abc', detabed
|
32
32
|
detabed = detab("\tabc\tbcd")
|
33
|
-
assert_equal
|
33
|
+
assert_equal ' abc bcd', detabed
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_detab_with_arg
|
37
|
-
detabed = detab("\t\tabcd\tef",2)
|
38
|
-
assert_equal
|
37
|
+
detabed = detab("\t\tabcd\tef", 2)
|
38
|
+
assert_equal ' abcd ef', detabed
|
39
39
|
detabed = detab("\tabc\tdef", 4)
|
40
|
-
assert_equal
|
40
|
+
assert_equal ' abc def', detabed
|
41
41
|
end
|
42
42
|
|
43
43
|
def test_split_paragraph_empty_nil
|
44
44
|
ret = @tu_nil.split_paragraph([])
|
45
|
-
assert_equal ret, [
|
45
|
+
assert_equal ret, ['']
|
46
46
|
end
|
47
47
|
|
48
48
|
def test_split_paragraph_empty_p
|
49
49
|
ret = @tu_p.split_paragraph([])
|
50
|
-
assert_equal ret, [
|
50
|
+
assert_equal ret, ['<p></p>']
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_split_paragraph_p
|
54
|
-
ret = @tu_p.split_paragraph([
|
55
|
-
assert_equal [
|
56
|
-
ret = @tu_p.split_paragraph([
|
57
|
-
assert_equal [
|
58
|
-
ret = @tu_p.split_paragraph([
|
59
|
-
assert_equal [
|
60
|
-
ret = @tu_p.split_paragraph([
|
61
|
-
assert_equal [
|
62
|
-
ret = @tu_p.split_paragraph([
|
63
|
-
assert_equal [
|
54
|
+
ret = @tu_p.split_paragraph(['abc'])
|
55
|
+
assert_equal ['<p>abc</p>'], ret
|
56
|
+
ret = @tu_p.split_paragraph(['abc', 'def'])
|
57
|
+
assert_equal ['<p>abcdef</p>'], ret
|
58
|
+
ret = @tu_p.split_paragraph(['abc', '', 'def'])
|
59
|
+
assert_equal ['<p>abc</p>', '<p>def</p>'], ret
|
60
|
+
ret = @tu_p.split_paragraph(['abc', '', '', 'def'])
|
61
|
+
assert_equal ['<p>abc</p>', '<p>def</p>'], ret
|
62
|
+
ret = @tu_p.split_paragraph(['abc', '', '', 'def', 'ghi'])
|
63
|
+
assert_equal ['<p>abc</p>', '<p>defghi</p>'], ret
|
64
64
|
end
|
65
65
|
|
66
66
|
def test_split_paragraph_nil
|
67
|
-
ret = @tu_nil.split_paragraph([
|
68
|
-
assert_equal [
|
69
|
-
ret = @tu_nil.split_paragraph([
|
70
|
-
assert_equal [
|
71
|
-
ret = @tu_nil.split_paragraph([
|
72
|
-
assert_equal [
|
73
|
-
ret = @tu_nil.split_paragraph([
|
74
|
-
assert_equal [
|
75
|
-
ret = @tu_nil.split_paragraph([
|
76
|
-
assert_equal [
|
67
|
+
ret = @tu_nil.split_paragraph(['abc'])
|
68
|
+
assert_equal ['abc'], ret
|
69
|
+
ret = @tu_nil.split_paragraph(['abc', 'def'])
|
70
|
+
assert_equal ['abcdef'], ret
|
71
|
+
ret = @tu_nil.split_paragraph(['abc', '', 'def'])
|
72
|
+
assert_equal ['abc', 'def'], ret
|
73
|
+
ret = @tu_nil.split_paragraph(['abc', '', '', 'def'])
|
74
|
+
assert_equal ['abc', 'def'], ret
|
75
|
+
ret = @tu_nil.split_paragraph(['abc', '', '', 'def', 'ghi'])
|
76
|
+
assert_equal ['abc', 'defghi'], ret
|
77
77
|
end
|
78
78
|
end
|
data/test/test_tocparser.rb
CHANGED
@@ -14,12 +14,12 @@ class TOCParserTest < Test::Unit::TestCase
|
|
14
14
|
def test_tocparser_parse
|
15
15
|
dummy_book = ReVIEW::Book::Base.load
|
16
16
|
io = StringIO.new("= test\n\naaa\n//image[foo][bar]{\n//}\n\n== test2\n\n=== test3\n\n==test21\n\n=test11\n")
|
17
|
-
chap = ReVIEW::Book::Chapter.new(dummy_book, 1, 'foo',
|
17
|
+
chap = ReVIEW::Book::Chapter.new(dummy_book, 1, 'foo', 'bar/foo.re', io)
|
18
18
|
ret = TOCParser.parse(chap)
|
19
19
|
assert_equal 2, ret.size ## XXX how to count chapters including multiple L1 headlines ??
|
20
20
|
chap_node = ret[0]
|
21
21
|
assert_equal ReVIEW::TOCParser::Chapter, chap_node.class
|
22
|
-
assert_equal
|
22
|
+
assert_equal 'foo', chap_node.chapter_id
|
23
23
|
assert_equal 1, chap_node.number
|
24
24
|
end
|
25
25
|
end
|
data/test/test_topbuilder.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
require 'test_helper'
|
4
2
|
require 'review/compiler'
|
5
3
|
require 'review/book'
|
@@ -10,12 +8,10 @@ class TOPBuidlerTest < Test::Unit::TestCase
|
|
10
8
|
include ReVIEW
|
11
9
|
|
12
10
|
def setup
|
13
|
-
@builder = TOPBuilder.new
|
11
|
+
@builder = TOPBuilder.new
|
14
12
|
@config = ReVIEW::Configure.values
|
15
|
-
@config
|
16
|
-
|
17
|
-
"language" => "ja",
|
18
|
-
})
|
13
|
+
@config['secnolevel'] = 2
|
14
|
+
@config['language'] = 'ja'
|
19
15
|
@book = Book::Base.new(nil)
|
20
16
|
@book.config = @config
|
21
17
|
@compiler = ReVIEW::Compiler.new(@builder)
|
@@ -29,209 +25,209 @@ class TOPBuidlerTest < Test::Unit::TestCase
|
|
29
25
|
puts msg
|
30
26
|
end
|
31
27
|
end
|
32
|
-
I18n.setup(@config[
|
28
|
+
I18n.setup(@config['language'])
|
33
29
|
end
|
34
30
|
|
35
31
|
def test_headline_level1
|
36
32
|
actual = compile_block("={test} this is test.\n")
|
37
|
-
assert_equal %Q
|
33
|
+
assert_equal %Q(■H1■第1章 this is test.\n), actual
|
38
34
|
end
|
39
35
|
|
40
36
|
def test_headline_level1_without_secno
|
41
|
-
@config[
|
37
|
+
@config['secnolevel'] = 0
|
42
38
|
actual = compile_block("={test} this is test.\n")
|
43
|
-
assert_equal %Q
|
39
|
+
assert_equal %Q(■H1■this is test.\n), actual
|
44
40
|
end
|
45
41
|
|
46
42
|
def test_headline_level2
|
47
43
|
actual = compile_block("=={test} this is test.\n")
|
48
|
-
assert_equal %Q
|
44
|
+
assert_equal %Q(■H2■1.1 this is test.\n), actual
|
49
45
|
end
|
50
46
|
|
51
47
|
def test_headline_level3
|
52
48
|
actual = compile_block("==={test} this is test.\n")
|
53
|
-
assert_equal %Q
|
49
|
+
assert_equal %Q(■H3■this is test.\n), actual
|
54
50
|
end
|
55
51
|
|
56
52
|
def test_headline_level3_with_secno
|
57
|
-
@config[
|
53
|
+
@config['secnolevel'] = 3
|
58
54
|
actual = compile_block("==={test} this is test.\n")
|
59
|
-
assert_equal %Q
|
55
|
+
assert_equal %Q(■H3■1.0.1 this is test.\n), actual
|
60
56
|
end
|
61
57
|
|
62
58
|
def test_href
|
63
|
-
actual = compile_inline(
|
64
|
-
assert_equal
|
59
|
+
actual = compile_inline('@<href>{http://github.com, GitHub}')
|
60
|
+
assert_equal 'GitHub(△http://github.com☆)', actual
|
65
61
|
end
|
66
62
|
|
67
63
|
def test_href_without_label
|
68
|
-
actual = compile_inline(
|
69
|
-
assert_equal
|
64
|
+
actual = compile_inline('@<href>{http://github.com}')
|
65
|
+
assert_equal '△http://github.com☆', actual
|
70
66
|
end
|
71
67
|
|
72
68
|
def test_inline_raw
|
73
|
-
actual = compile_inline(
|
74
|
-
assert_equal
|
69
|
+
actual = compile_inline('@<raw>{@<tt>{inline\}}')
|
70
|
+
assert_equal '@<tt>{inline}', actual
|
75
71
|
end
|
76
72
|
|
77
73
|
def test_inline_ruby
|
78
|
-
actual = compile_inline(
|
79
|
-
assert_equal
|
74
|
+
actual = compile_inline('@<ruby>{coffin,bed}')
|
75
|
+
assert_equal 'coffin◆→DTP連絡:「coffin」に「bed」とルビ←◆', actual
|
80
76
|
end
|
81
77
|
|
82
78
|
def test_inline_kw
|
83
|
-
actual = compile_inline(
|
84
|
-
assert_equal
|
79
|
+
actual = compile_inline('@<kw>{ISO, International Organization for Standardization } @<kw>{Ruby<>}')
|
80
|
+
assert_equal '★ISO☆(International Organization for Standardization) ★Ruby<>☆', actual
|
85
81
|
end
|
86
82
|
|
87
83
|
def test_inline_maru
|
88
|
-
actual = compile_inline(
|
89
|
-
assert_equal
|
84
|
+
actual = compile_inline('@<maru>{1}@<maru>{20}@<maru>{A}@<maru>{z}')
|
85
|
+
assert_equal '1◆→丸数字1←◆20◆→丸数字20←◆A◆→丸数字A←◆z◆→丸数字z←◆', actual
|
90
86
|
end
|
91
87
|
|
92
88
|
def test_inline_br
|
93
|
-
actual = compile_inline(
|
94
|
-
assert_equal
|
89
|
+
actual = compile_inline('@<br>{}')
|
90
|
+
assert_equal "\n", actual
|
95
91
|
end
|
96
92
|
|
97
93
|
def test_inline_i
|
98
|
-
actual = compile_inline(
|
99
|
-
assert_equal
|
94
|
+
actual = compile_inline('test @<i>{inline test} test2')
|
95
|
+
assert_equal 'test ▲inline test☆ test2', actual
|
100
96
|
end
|
101
97
|
|
102
98
|
def test_inline_i_and_escape
|
103
|
-
actual = compile_inline(
|
104
|
-
assert_equal
|
99
|
+
actual = compile_inline('test @<i>{inline<&;\\ test} test2')
|
100
|
+
assert_equal 'test ▲inline<&;\\ test☆ test2', actual
|
105
101
|
end
|
106
102
|
|
107
103
|
def test_inline_b
|
108
|
-
actual = compile_inline(
|
109
|
-
assert_equal
|
104
|
+
actual = compile_inline('test @<b>{inline test} test2')
|
105
|
+
assert_equal 'test ★inline test☆ test2', actual
|
110
106
|
end
|
111
107
|
|
112
108
|
def test_inline_b_and_escape
|
113
|
-
actual = compile_inline(
|
114
|
-
assert_equal
|
109
|
+
actual = compile_inline('test @<b>{inline<&;\\ test} test2')
|
110
|
+
assert_equal 'test ★inline<&;\\ test☆ test2', actual
|
115
111
|
end
|
116
112
|
|
117
113
|
def test_inline_tt
|
118
|
-
actual = compile_inline(
|
119
|
-
assert_equal
|
114
|
+
actual = compile_inline('test @<tt>{inline test} test2@<tt>{\\}}')
|
115
|
+
assert_equal 'test △inline test☆ test2△}☆', actual
|
120
116
|
end
|
121
117
|
|
122
118
|
def test_inline_tti
|
123
|
-
actual = compile_inline(
|
124
|
-
assert_equal
|
119
|
+
actual = compile_inline('test @<tti>{inline test} test2')
|
120
|
+
assert_equal 'test ▲inline test☆◆→等幅フォントイタ←◆ test2', actual
|
125
121
|
end
|
126
122
|
|
127
123
|
def test_inline_ttb
|
128
|
-
actual = compile_inline(
|
129
|
-
assert_equal
|
124
|
+
actual = compile_inline('test @<ttb>{inline test} test2')
|
125
|
+
assert_equal 'test ★inline test☆◆→等幅フォント太字←◆ test2', actual
|
130
126
|
end
|
131
127
|
|
132
128
|
def test_inline_uchar
|
133
|
-
actual = compile_inline(
|
134
|
-
assert_equal
|
129
|
+
actual = compile_inline('test @<uchar>{2460} test2')
|
130
|
+
assert_equal 'test ① test2', actual
|
135
131
|
end
|
136
132
|
|
137
133
|
def test_inline_comment
|
138
|
-
actual = compile_inline(
|
139
|
-
assert_equal
|
134
|
+
actual = compile_inline('test @<comment>{コメント} test2')
|
135
|
+
assert_equal 'test test2', actual
|
140
136
|
end
|
141
137
|
|
142
138
|
def test_inline_comment_for_draft
|
143
|
-
@config[
|
144
|
-
actual = compile_inline(
|
145
|
-
assert_equal
|
139
|
+
@config['draft'] = true
|
140
|
+
actual = compile_inline('test @<comment>{コメント} test2')
|
141
|
+
assert_equal 'test ◆→コメント←◆ test2', actual
|
146
142
|
end
|
147
143
|
|
148
144
|
def test_inline_in_table
|
149
145
|
actual = compile_block("//table{\n★1☆\t▲2☆\n------------\n★3☆\t▲4☆<>&\n//}\n")
|
150
|
-
assert_equal %Q
|
146
|
+
assert_equal %Q(◆→開始:表←◆\n★★1☆☆\t★▲2☆☆\n★3☆\t▲4☆<>&\n◆→終了:表←◆\n\n), actual
|
151
147
|
end
|
152
148
|
|
153
149
|
def test_dlist_beforeulol
|
154
150
|
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")
|
155
|
-
assert_equal %Q
|
151
|
+
assert_equal %Q(★foo☆\n\tfoo.\n\t\n\npara\n\n★foo☆\n\tfoo.\n\t\n\n1\tbar\n\n★foo☆\n\tfoo.\n\t\n\n●\tbar\n\n), actual
|
156
152
|
end
|
157
153
|
|
158
154
|
def test_paragraph
|
159
155
|
actual = compile_block("foo\nbar\n")
|
160
|
-
assert_equal %Q
|
156
|
+
assert_equal %Q(foobar\n), actual
|
161
157
|
end
|
162
158
|
|
163
159
|
def test_tabbed_paragraph
|
164
160
|
actual = compile_block("\tfoo\nbar\n")
|
165
|
-
assert_equal %Q
|
161
|
+
assert_equal %Q(\tfoobar\n), actual
|
166
162
|
end
|
167
163
|
|
168
164
|
def test_flushright
|
169
165
|
actual = compile_block("//flushright{\nfoo\nbar\n\nbuz\n//}\n")
|
170
|
-
assert_equal %Q
|
166
|
+
assert_equal %Q(◆→開始:右寄せ←◆\nfoobar\nbuz\n◆→終了:右寄せ←◆\n\n), actual
|
171
167
|
end
|
172
168
|
|
173
169
|
def test_noindent
|
174
170
|
actual = compile_block("//noindent\nfoo\nbar\n\nfoo2\nbar2\n")
|
175
|
-
assert_equal %Q
|
171
|
+
assert_equal %Q(◆→DTP連絡:次の1行インデントなし←◆\nfoobar\nfoo2bar2\n), actual
|
176
172
|
end
|
177
173
|
|
178
174
|
def test_comment
|
179
|
-
actual = compile_block(
|
180
|
-
assert_equal
|
175
|
+
actual = compile_block('//comment[コメント]')
|
176
|
+
assert_equal '', actual
|
181
177
|
end
|
182
178
|
|
183
179
|
def test_comment_for_draft
|
184
|
-
@config[
|
185
|
-
actual = compile_block(
|
186
|
-
assert_equal %Q
|
180
|
+
@config['draft'] = true
|
181
|
+
actual = compile_block('//comment[コメント]')
|
182
|
+
assert_equal %Q(◆→コメント←◆\n), actual
|
187
183
|
end
|
188
184
|
|
189
185
|
def test_list
|
190
|
-
def @chapter.list(
|
191
|
-
Book::ListIndex::Item.new(
|
186
|
+
def @chapter.list(_id)
|
187
|
+
Book::ListIndex::Item.new('test', 1)
|
192
188
|
end
|
193
189
|
actual = compile_block("//list[samplelist][this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
|
194
|
-
assert_equal %Q
|
190
|
+
assert_equal %Q(◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\nfoo\nbar\n◆→終了:リスト←◆\n\n), actual
|
195
191
|
end
|
196
192
|
|
197
193
|
def test_listnum
|
198
|
-
def @chapter.list(
|
199
|
-
Book::ListIndex::Item.new(
|
194
|
+
def @chapter.list(_id)
|
195
|
+
Book::ListIndex::Item.new('test', 1)
|
200
196
|
end
|
201
197
|
actual = compile_block("//listnum[test][this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
|
202
|
-
assert_equal %Q
|
198
|
+
assert_equal %Q(◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\n 1: foo\n 2: bar\n◆→終了:リスト←◆\n\n), actual
|
203
199
|
end
|
204
200
|
|
205
201
|
def test_emlistnum
|
206
202
|
actual = compile_block("//emlistnum[this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
|
207
|
-
assert_equal %Q
|
203
|
+
assert_equal %Q(◆→開始:インラインリスト←◆\n■this is ★test☆<&>_\n 1: foo\n 2: bar\n◆→終了:インラインリスト←◆\n\n), actual
|
208
204
|
end
|
209
205
|
|
210
206
|
def test_bib
|
211
|
-
def @chapter.bibpaper(
|
212
|
-
Book::BibpaperIndex::Item.new(
|
207
|
+
def @chapter.bibpaper(_id)
|
208
|
+
Book::BibpaperIndex::Item.new('samplebib', 1, 'sample bib')
|
213
209
|
end
|
214
210
|
|
215
|
-
assert_equal
|
211
|
+
assert_equal '[1]', compile_inline('@<bib>{samplebib}')
|
216
212
|
end
|
217
213
|
|
218
214
|
def test_table
|
219
215
|
actual = compile_block("//table{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
|
220
|
-
assert_equal %Q
|
216
|
+
assert_equal %Q(◆→開始:表←◆\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n),
|
221
217
|
actual
|
222
218
|
end
|
223
219
|
|
224
220
|
def test_inline_table
|
225
|
-
def @chapter.table(
|
226
|
-
Book::TableIndex::Item.new(
|
221
|
+
def @chapter.table(_id)
|
222
|
+
Book::TableIndex::Item.new('sampletable', 1)
|
227
223
|
end
|
228
224
|
actual = compile_block("@<table>{sampletest}\n")
|
229
|
-
assert_equal
|
225
|
+
assert_equal "表1.1\n", actual
|
230
226
|
end
|
231
227
|
|
232
228
|
def test_emtable
|
233
229
|
actual = compile_block("//emtable[foo]{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n//emtable{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
|
234
|
-
assert_equal %Q
|
230
|
+
assert_equal %Q(◆→開始:表←◆\nfoo\n\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n◆→開始:表←◆\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n),
|
235
231
|
actual
|
236
232
|
end
|
237
233
|
|
@@ -270,83 +266,83 @@ class TOPBuidlerTest < Test::Unit::TestCase
|
|
270
266
|
end
|
271
267
|
|
272
268
|
def test_image
|
273
|
-
def @chapter.image(
|
274
|
-
item = Book::ImageIndex::Item.new(
|
275
|
-
item.instance_eval{@path=
|
269
|
+
def @chapter.image(_id)
|
270
|
+
item = Book::ImageIndex::Item.new('sampleimg', 1)
|
271
|
+
item.instance_eval { @path = './images/chap1-sampleimg.png' }
|
276
272
|
item
|
277
273
|
end
|
278
274
|
|
279
275
|
actual = compile_block("//image[sampleimg][sample photo]{\nfoo\n//}\n")
|
280
|
-
assert_equal %Q
|
276
|
+
assert_equal %Q(◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png←◆\n◆→終了:図←◆\n\n), actual
|
281
277
|
end
|
282
278
|
|
283
279
|
def test_image_with_metric
|
284
|
-
def @chapter.image(
|
285
|
-
item = Book::ImageIndex::Item.new(
|
286
|
-
item.instance_eval{@path=
|
280
|
+
def @chapter.image(_id)
|
281
|
+
item = Book::ImageIndex::Item.new('sampleimg', 1)
|
282
|
+
item.instance_eval { @path = './images/chap1-sampleimg.png' }
|
287
283
|
item
|
288
284
|
end
|
289
285
|
|
290
286
|
actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\nfoo\n//}\n")
|
291
|
-
assert_equal %Q
|
287
|
+
assert_equal %Q(◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png scale=1.2←◆\n◆→終了:図←◆\n\n), actual
|
292
288
|
end
|
293
289
|
|
294
290
|
def test_texequation
|
295
291
|
actual = compile_block("//texequation{\n\\sin\n1^{2}\n//}\n")
|
296
|
-
assert_equal %Q
|
292
|
+
assert_equal %Q(◆→開始:TeX式←◆\n\\sin\n1^{2}\n◆→終了:TeX式←◆\n\n), actual
|
297
293
|
end
|
298
294
|
|
299
295
|
def test_inline_raw0
|
300
|
-
assert_equal
|
296
|
+
assert_equal 'normal', compile_inline('@<raw>{normal}')
|
301
297
|
end
|
302
298
|
|
303
299
|
def test_inline_raw1
|
304
|
-
assert_equal
|
300
|
+
assert_equal 'body', compile_inline('@<raw>{|top|body}')
|
305
301
|
end
|
306
302
|
|
307
303
|
def test_inline_raw2
|
308
|
-
assert_equal
|
304
|
+
assert_equal 'body', compile_inline('@<raw>{|top, latex|body}')
|
309
305
|
end
|
310
306
|
|
311
307
|
def test_inline_raw3
|
312
|
-
assert_equal
|
308
|
+
assert_equal '', compile_inline('@<raw>{|idgxml, html|body}')
|
313
309
|
end
|
314
310
|
|
315
311
|
def test_inline_raw4
|
316
|
-
assert_equal
|
312
|
+
assert_equal '|top body', compile_inline('@<raw>{|top body}')
|
317
313
|
end
|
318
314
|
|
319
315
|
def test_inline_raw5
|
320
|
-
assert_equal "nor\nmal", compile_inline(
|
316
|
+
assert_equal "nor\nmal", compile_inline('@<raw>{|top|nor\\nmal}')
|
321
317
|
end
|
322
318
|
|
323
319
|
def test_block_raw0
|
324
|
-
actual = compile_block(
|
325
|
-
expected = %Q(
|
320
|
+
actual = compile_block(%Q(//raw[<>!"\\n& ]\n))
|
321
|
+
expected = %Q(<>!"\n& )
|
326
322
|
assert_equal expected.chomp, actual
|
327
323
|
end
|
328
324
|
|
329
325
|
def test_block_raw1
|
330
|
-
actual = compile_block(
|
331
|
-
expected = %Q(
|
326
|
+
actual = compile_block(%Q(//raw[|top|<>!"\\n& ]\n))
|
327
|
+
expected = %Q(<>!"\n& )
|
332
328
|
assert_equal expected.chomp, actual
|
333
329
|
end
|
334
330
|
|
335
331
|
def test_block_raw2
|
336
|
-
actual = compile_block(
|
337
|
-
expected = %Q(
|
332
|
+
actual = compile_block(%Q(//raw[|top, latex|<>!"\\n& ]\n))
|
333
|
+
expected = %Q(<>!"\n& )
|
338
334
|
assert_equal expected.chomp, actual
|
339
335
|
end
|
340
336
|
|
341
337
|
def test_block_raw3
|
342
|
-
actual = compile_block(
|
338
|
+
actual = compile_block(%Q(//raw[|latex, idgxml|<>!"\\n& ]\n))
|
343
339
|
expected = ''
|
344
340
|
assert_equal expected.chomp, actual
|
345
341
|
end
|
346
342
|
|
347
343
|
def test_block_raw4
|
348
|
-
actual = compile_block(
|
349
|
-
expected = %Q(|top
|
344
|
+
actual = compile_block(%Q(//raw[|top <>!"\\n& ]\n))
|
345
|
+
expected = %Q(|top <>!"\n& )
|
350
346
|
assert_equal expected.chomp, actual
|
351
347
|
end
|
352
348
|
|
@@ -355,7 +351,7 @@ class TOPBuidlerTest < Test::Unit::TestCase
|
|
355
351
|
end
|
356
352
|
|
357
353
|
def test_column_ref
|
358
|
-
review
|
354
|
+
review = <<-EOS
|
359
355
|
===[column]{foo} test
|
360
356
|
|
361
357
|
inside column
|
@@ -364,7 +360,7 @@ inside column
|
|
364
360
|
|
365
361
|
this is @<column>{foo}.
|
366
362
|
EOS
|
367
|
-
expected
|
363
|
+
expected = <<-EOS
|
368
364
|
◆→開始:コラム←◆
|
369
365
|
■test
|
370
366
|
inside column
|
@@ -376,5 +372,4 @@ EOS
|
|
376
372
|
|
377
373
|
assert_equal expected, column_helper(review)
|
378
374
|
end
|
379
|
-
|
380
375
|
end
|