review 1.0.0 → 1.1.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.
- data/.travis.yml +1 -2
- data/ChangeLog +65 -0
- data/Gemfile +5 -0
- data/README.rdoc +6 -1
- data/Rakefile +14 -28
- data/bin/review-check +9 -21
- data/bin/review-compile +45 -12
- data/bin/review-epubmaker +477 -220
- data/bin/review-epubmaker-ng +5 -14
- data/bin/review-index +4 -2
- data/bin/review-init +94 -0
- data/bin/review-pdfmaker +70 -287
- data/bin/review-preproc +5 -2
- data/bin/review-vol +4 -11
- data/debian/changelog +3 -3
- data/debian/copyright +5 -3
- data/debian/docs +1 -0
- data/doc/format.rdoc +57 -11
- data/doc/quickstart.rdoc +4 -4
- data/doc/sample.yaml +11 -7
- data/lib/epubmaker.rb +1 -1
- data/lib/epubmaker/epubv2.rb +26 -27
- data/lib/epubmaker/epubv3.rb +13 -13
- data/lib/epubmaker/producer.rb +1 -1
- data/lib/review.rb +3 -4
- data/lib/review/book.rb +17 -581
- data/lib/review/book/base.rb +247 -0
- data/lib/review/book/chapter.rb +81 -0
- data/lib/review/book/compilable.rb +163 -0
- data/lib/review/book/index.rb +339 -0
- data/lib/review/book/page_metric.rb +38 -0
- data/lib/review/book/parameters.rb +97 -0
- data/lib/review/book/part.rb +44 -0
- data/lib/review/book/volume.rb +65 -0
- data/lib/review/builder.rb +34 -40
- data/lib/review/compiler.rb +32 -13
- data/lib/review/configure.rb +38 -0
- data/lib/review/ewbbuilder.rb +23 -21
- data/lib/review/extentions.rb +3 -0
- data/lib/review/extentions/object.rb +9 -0
- data/lib/review/{compat.rb → extentions/string.rb} +11 -0
- data/lib/review/htmlbuilder.rb +162 -74
- data/lib/review/htmlutils.rb +28 -1
- data/lib/review/i18n.yaml +11 -0
- data/lib/review/idgxmlbuilder.rb +119 -35
- data/lib/review/inaobuilder.rb +355 -0
- data/lib/review/latexbuilder.rb +133 -59
- data/lib/review/latexutils.rb +15 -6
- data/lib/review/makerhelper.rb +59 -0
- data/lib/review/markdownbuilder.rb +129 -0
- data/lib/review/preprocessor.rb +20 -7
- data/lib/review/review.tex.erb +250 -0
- data/lib/review/textutils.rb +28 -3
- data/lib/review/tocparser.rb +20 -12
- data/lib/review/tocprinter.rb +7 -3
- data/lib/review/topbuilder.rb +44 -27
- data/lib/review/version.rb +3 -0
- data/review.gemspec +20 -117
- data/test/book_test_helper.rb +35 -0
- data/test/sample-book/README.md +5 -0
- data/test/sample-book/src/CHAPS +2 -0
- data/test/sample-book/src/PREDEF +1 -0
- data/test/sample-book/src/Rakefile +26 -0
- data/test/sample-book/src/_cover.html +3 -0
- data/test/sample-book/src/ch01.re +71 -0
- data/test/sample-book/src/ch02.re +3 -0
- data/test/sample-book/src/config.yml +55 -0
- data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
- data/test/sample-book/src/images/cover.jpg +0 -0
- data/test/sample-book/src/main.css +251 -0
- data/test/sample-book/src/preface.re +15 -0
- data/test/sample-book/src/sty/jumoline.sty +310 -0
- data/test/sample-book/src/sty/samplemacro.sty +21 -0
- data/test/sample-book/src/vendor/jumoline/README +29 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.dtx +2988 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.ins +6 -0
- data/test/test_book.rb +26 -646
- data/test/test_book_chapter.rb +418 -0
- data/test/test_book_parameter.rb +42 -0
- data/test/test_book_part.rb +53 -0
- data/test/test_builder.rb +17 -10
- data/test/test_compiler.rb +46 -0
- data/test/test_epubmaker.rb +1 -1
- data/test/test_epubmaker_cmd.rb +36 -0
- data/test/test_helper.rb +17 -0
- data/test/test_htmlbuilder.rb +156 -24
- data/test/test_htmlutils.rb +4 -0
- data/test/test_i18n.rb +6 -2
- data/test/test_idgxmlbuilder.rb +33 -11
- data/test/test_inaobuilder.rb +247 -0
- data/test/test_index.rb +31 -0
- data/test/test_latexbuilder.rb +115 -35
- data/test/test_makerhelper.rb +50 -0
- data/test/test_pdfmaker_cmd.rb +36 -0
- data/test/test_preprocessor.rb +7 -7
- data/test/test_topbuilder.rb +6 -7
- data/test/test_uuid.rb +1 -0
- metadata +117 -12
- data/lib/review/index.rb +0 -323
- data/lib/review/volume.rb +0 -66
data/test/test_latexbuilder.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
require 'test_helper'
|
2
3
|
require 'review/compiler'
|
3
4
|
require 'review/book'
|
@@ -10,6 +11,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
10
11
|
@builder = LATEXBuilder.new()
|
11
12
|
@param = {
|
12
13
|
"secnolevel" => 2, # for IDGXMLBuilder, EPUBBuilder
|
14
|
+
"toclevel" => 2,
|
13
15
|
"inencoding" => "UTF-8",
|
14
16
|
"outencoding" => "UTF-8",
|
15
17
|
"subdirmode" => nil,
|
@@ -17,7 +19,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
17
19
|
}
|
18
20
|
ReVIEW.book.param = @param
|
19
21
|
@compiler = ReVIEW::Compiler.new(@builder)
|
20
|
-
@chapter = Chapter.new(nil, 1, 'chap1', nil, StringIO.new)
|
22
|
+
@chapter = Book::Chapter.new(nil, 1, 'chap1', nil, StringIO.new)
|
21
23
|
location = Location.new(nil, nil)
|
22
24
|
@builder.bind(@compiler, @chapter, location)
|
23
25
|
end
|
@@ -30,12 +32,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
30
32
|
def test_headline_level1_without_secno
|
31
33
|
@param["secnolevel"] = 0
|
32
34
|
@builder.headline(1,"test","this is test.")
|
33
|
-
assert_equal %Q|\\chapter*{this is test.}\n\\label{chap:chap1}\n|, @builder.result
|
35
|
+
assert_equal %Q|\\chapter*{this is test.}\n\\addcontentsline{toc}{chapter}{this is test.}\n\\label{chap:chap1}\n|, @builder.result
|
34
36
|
end
|
35
37
|
|
36
38
|
def test_headline_level1_with_inlinetag
|
37
39
|
@builder.headline(1,"test","this @<b>{is} test.<&\"_>")
|
38
|
-
assert_equal %Q|\\chapter{this \\textbf{is} test.\\textless{}
|
40
|
+
assert_equal %Q|\\chapter{this \\textbf{is} test.\\textless{}\\&\"\\textunderscore{}\\textgreater{}}\n\\label{chap:chap1}\n|, @builder.result
|
39
41
|
end
|
40
42
|
|
41
43
|
def test_headline_level2
|
@@ -80,6 +82,11 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
80
82
|
assert_equal %Q|\\href{http://example.com/aaa/bbb}{AAA\\textunderscore{}BBB}|, ret
|
81
83
|
end
|
82
84
|
|
85
|
+
def test_href_mailto
|
86
|
+
ret = @builder.compile_inline('@<href>{mailto:takahashim@example.com, takahashim@example.com}')
|
87
|
+
assert_equal %Q|\\href{mailto:takahashim@example.com}{takahashim@example.com}|, ret
|
88
|
+
end
|
89
|
+
|
83
90
|
def test_inline_br
|
84
91
|
ret = @builder.inline_br("")
|
85
92
|
assert_equal %Q|\\\\\n|, ret
|
@@ -141,12 +148,12 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
141
148
|
end
|
142
149
|
def test_inline_em
|
143
150
|
ret = @builder.compile_inline("abc@<em>{def}")
|
144
|
-
assert_equal %Q|abc\\
|
151
|
+
assert_equal %Q|abc\\reviewem{def}|, ret
|
145
152
|
end
|
146
153
|
|
147
154
|
def test_inline_strong
|
148
155
|
ret = @builder.compile_inline("abc@<strong>{def}")
|
149
|
-
assert_equal %Q|abc\\
|
156
|
+
assert_equal %Q|abc\\reviewstrong{def}|, ret
|
150
157
|
end
|
151
158
|
|
152
159
|
def test_inline_u
|
@@ -166,7 +173,7 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
166
173
|
|
167
174
|
def test_inline_tt_endash
|
168
175
|
ret = @builder.compile_inline("test @<tt>{in-line --test ---foo ----bar -----buz} --test2")
|
169
|
-
assert_equal %Q|test \\texttt{in-line {-}{-}test {-}{-}-foo {-}{-}{-}{-}bar {-}{-}{-}{-}-buz}
|
176
|
+
assert_equal %Q|test \\texttt{in{-}line {-}{-}test {-}{-}{-}foo {-}{-}{-}{-}bar {-}{-}{-}{-}{-}buz} {-}{-}test2|, ret
|
170
177
|
end
|
171
178
|
|
172
179
|
def test_inline_tti
|
@@ -179,11 +186,26 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
179
186
|
assert_equal %Q|test \\texttt{\\textbf{inline test}} test2|, ret
|
180
187
|
end
|
181
188
|
|
189
|
+
def test_inline_hd_chap
|
190
|
+
def @chapter.headline_index
|
191
|
+
items = [Book::HeadlineIndex::Item.new("chap1|test", [1, 1], "te_st")]
|
192
|
+
Book::HeadlineIndex.new(items, self)
|
193
|
+
end
|
194
|
+
|
195
|
+
ret = @builder.compile_inline("test @<hd>{chap1|test} test2")
|
196
|
+
assert_equal %Q|test 「1.1.1 te\\textunderscore{}st」 test2|, ret
|
197
|
+
end
|
198
|
+
|
182
199
|
def test_inline_uchar
|
183
200
|
ret = @builder.compile_inline("test @<uchar>{2460} test2")
|
184
201
|
assert_equal %Q|test \\UTF{2460} test2|, ret
|
185
202
|
end
|
186
203
|
|
204
|
+
def test_jis_x_0201_kana
|
205
|
+
ret = @builder.compile_inline("foo・カンジ、テスト")
|
206
|
+
assert_equal %Q|foo\\aj半角{・}\\aj半角{カ}\\aj半角{ン}\\aj半角{シ}\\aj半角{゛}\\aj半角{、}テスト|, ret
|
207
|
+
end
|
208
|
+
|
187
209
|
def test_dlist
|
188
210
|
@builder.dl_begin
|
189
211
|
@builder.dt "foo"
|
@@ -192,28 +214,49 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
192
214
|
assert_equal %Q|\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.\nbar.\n\\end{description}\n|, @builder.result
|
193
215
|
end
|
194
216
|
|
217
|
+
def test_dlist_with_bracket
|
218
|
+
@builder.dl_begin
|
219
|
+
@builder.dt "foo[bar]"
|
220
|
+
@builder.dd ["foo.\n", "bar.\n"]
|
221
|
+
@builder.dl_end
|
222
|
+
assert_equal %Q|\n\\begin{description}\n\\item[foo\\lbrack{}bar\\rbrack{}] \\mbox{} \\\\\nfoo.\nbar.\n\\end{description}\n|, @builder.result
|
223
|
+
end
|
224
|
+
|
195
225
|
def test_cmd
|
196
226
|
lines = ["foo", "bar", "","buz"]
|
197
227
|
@builder.cmd(lines)
|
198
|
-
assert_equal %Q|\n\\begin{reviewcmd}\
|
228
|
+
assert_equal %Q|\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n|, @builder.result
|
199
229
|
end
|
200
230
|
|
201
231
|
def test_cmd_caption
|
202
232
|
lines = ["foo", "bar", "","buz"]
|
203
233
|
@builder.cmd(lines, "cap1")
|
204
|
-
assert_equal %Q|\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\
|
234
|
+
assert_equal %Q|\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n|, @builder.result
|
205
235
|
end
|
206
236
|
|
207
237
|
def test_emlist
|
208
238
|
lines = ["foo", "bar", "","buz"]
|
209
239
|
@builder.emlist(lines)
|
210
|
-
assert_equal %Q|\n\\begin{reviewemlist}\
|
240
|
+
assert_equal %Q|\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n|, @builder.result
|
211
241
|
end
|
212
242
|
|
213
243
|
def test_emlist_caption
|
214
244
|
lines = ["foo", "bar", "","buz"]
|
215
245
|
@builder.emlist(lines, "cap1")
|
216
|
-
assert_equal %Q|\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\
|
246
|
+
assert_equal %Q|\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n|, @builder.result
|
247
|
+
end
|
248
|
+
|
249
|
+
def test_emlist_with_tab
|
250
|
+
lines = ["\tfoo", "\t\tbar", "","\tbuz"]
|
251
|
+
@builder.emlist(lines)
|
252
|
+
assert_equal %Q|\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n|, @builder.result
|
253
|
+
end
|
254
|
+
|
255
|
+
def test_emlist_with_tab4
|
256
|
+
lines = ["\tfoo", "\t\tbar", "","\tbuz"]
|
257
|
+
@builder.instance_eval{@tabwidth=4}
|
258
|
+
@builder.emlist(lines)
|
259
|
+
assert_equal %Q|\n\\begin{reviewemlist}\n foo\n bar\n\n buz\n\\end{reviewemlist}\n|, @builder.result
|
217
260
|
end
|
218
261
|
|
219
262
|
def test_quote
|
@@ -232,6 +275,11 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
232
275
|
assert_equal %Q|\n\\begin{flushright}\nfoobar\n\nbuz\n\\end{flushright}\n|, @builder.raw_result
|
233
276
|
end
|
234
277
|
|
278
|
+
def test_centering
|
279
|
+
@builder.centering(["foo", "bar", "","buz"])
|
280
|
+
assert_equal %Q|\n\\begin{center}\nfoobar\n\nbuz\n\\end{center}\n|, @builder.raw_result
|
281
|
+
end
|
282
|
+
|
235
283
|
def test_noindent
|
236
284
|
@builder.noindent
|
237
285
|
@builder.paragraph(["foo", "bar"])
|
@@ -241,52 +289,51 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
241
289
|
|
242
290
|
def test_image
|
243
291
|
def @chapter.image(id)
|
244
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
292
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
245
293
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
246
294
|
item
|
247
295
|
end
|
248
296
|
|
249
297
|
@builder.image_image("sampleimg","sample photo",nil)
|
250
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\
|
298
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, @builder.raw_result
|
251
299
|
end
|
252
300
|
|
253
301
|
def test_image_with_metric
|
254
302
|
def @chapter.image(id)
|
255
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
303
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
256
304
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
257
305
|
item
|
258
306
|
end
|
259
307
|
|
260
308
|
@builder.image_image("sampleimg","sample photo","scale=1.2")
|
261
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\
|
309
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, @builder.raw_result
|
262
310
|
end
|
263
311
|
|
264
312
|
def test_image_with_metric2
|
265
313
|
def @chapter.image(id)
|
266
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
314
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
267
315
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
268
316
|
item
|
269
317
|
end
|
270
318
|
|
271
319
|
@builder.image_image("sampleimg","sample photo","scale=1.2, html::class=\"sample\", latex::height=3cm")
|
272
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\
|
320
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, @builder.raw_result
|
273
321
|
end
|
274
322
|
|
275
323
|
def test_indepimage
|
276
324
|
def @chapter.image(id)
|
277
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
325
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
278
326
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
279
327
|
item
|
280
328
|
end
|
281
329
|
|
282
|
-
# FIXME: indepimage's caption should not be with a counter.
|
283
330
|
@builder.indepimage("sampleimg","sample photo",nil)
|
284
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\
|
331
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
|
285
332
|
end
|
286
333
|
|
287
334
|
def test_indepimage_without_caption
|
288
335
|
def @chapter.image(id)
|
289
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
336
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
290
337
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
291
338
|
item
|
292
339
|
end
|
@@ -298,31 +345,29 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
298
345
|
|
299
346
|
def test_indepimage_with_metric
|
300
347
|
def @chapter.image(id)
|
301
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
348
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
302
349
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
303
350
|
item
|
304
351
|
end
|
305
352
|
|
306
|
-
# FIXME: indepimage's caption should not be with a counter.
|
307
353
|
@builder.indepimage("sampleimg","sample photo","scale=1.2")
|
308
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\
|
354
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
|
309
355
|
end
|
310
356
|
|
311
357
|
def test_indepimage_with_metric2
|
312
358
|
def @chapter.image(id)
|
313
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
359
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
314
360
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
315
361
|
item
|
316
362
|
end
|
317
363
|
|
318
|
-
# FIXME: indepimage's caption should not be with a counter.
|
319
364
|
@builder.indepimage("sampleimg","sample photo","scale=1.2, latex::height=3cm, html::class=\"sample\"")
|
320
|
-
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\
|
365
|
+
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
|
321
366
|
end
|
322
367
|
|
323
368
|
def test_indepimage_without_caption_but_with_metric
|
324
369
|
def @chapter.image(id)
|
325
|
-
item = ImageIndex::Item.new("sampleimg",1)
|
370
|
+
item = Book::ImageIndex::Item.new("sampleimg",1)
|
326
371
|
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
|
327
372
|
item
|
328
373
|
end
|
@@ -334,28 +379,28 @@ class LATEXBuidlerTest < Test::Unit::TestCase
|
|
334
379
|
|
335
380
|
def test_bib
|
336
381
|
def @chapter.bibpaper(id)
|
337
|
-
BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
382
|
+
Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
338
383
|
end
|
339
384
|
|
340
|
-
assert_equal "[1]", @builder.inline_bib("samplebib")
|
385
|
+
assert_equal "\\reviewbibref{[1]}{bib:samplebib}", @builder.inline_bib("samplebib")
|
341
386
|
end
|
342
387
|
|
343
388
|
def test_bibpaper
|
344
389
|
def @chapter.bibpaper(id)
|
345
|
-
BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
390
|
+
Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
346
391
|
end
|
347
392
|
|
348
393
|
@builder.bibpaper(["a", "b"], "samplebib", "sample bib @<b>{bold}")
|
349
|
-
assert_equal %Q|[1] sample bib \\textbf{bold}\n\
|
394
|
+
assert_equal %Q|[1] sample bib \\textbf{bold}\n\\label{bib:samplebib}\n\nab\n|, @builder.raw_result
|
350
395
|
end
|
351
396
|
|
352
397
|
def test_bibpaper_without_body
|
353
398
|
def @chapter.bibpaper(id)
|
354
|
-
BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
399
|
+
Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
|
355
400
|
end
|
356
401
|
|
357
402
|
@builder.bibpaper([], "samplebib", "sample bib")
|
358
|
-
assert_equal %Q|[1] sample bib\n\n|, @builder.raw_result
|
403
|
+
assert_equal %Q|[1] sample bib\n\\label{bib:samplebib}\n\n|, @builder.raw_result
|
359
404
|
end
|
360
405
|
|
361
406
|
def column_helper(review)
|
@@ -446,6 +491,21 @@ EOS
|
|
446
491
|
ul_helper(src, expect)
|
447
492
|
end
|
448
493
|
|
494
|
+
def test_ul_with_bracket
|
495
|
+
src =<<-EOS
|
496
|
+
* AAA
|
497
|
+
* []BBB
|
498
|
+
EOS
|
499
|
+
expect =<<-EOS
|
500
|
+
|
501
|
+
\\begin{itemize}
|
502
|
+
\\item AAA
|
503
|
+
\\item \\lbrack{}]BBB
|
504
|
+
\\end{itemize}
|
505
|
+
EOS
|
506
|
+
ul_helper(src, expect)
|
507
|
+
end
|
508
|
+
|
449
509
|
def test_cont
|
450
510
|
src =<<-EOS
|
451
511
|
* AAA
|
@@ -456,8 +516,8 @@ EOS
|
|
456
516
|
expect =<<-EOS
|
457
517
|
|
458
518
|
\\begin{itemize}
|
459
|
-
\\item AAA-AA
|
460
|
-
\\item BBB-BB
|
519
|
+
\\item AAA{-}AA
|
520
|
+
\\item BBB{-}BB
|
461
521
|
\\end{itemize}
|
462
522
|
EOS
|
463
523
|
ul_helper(src, expect)
|
@@ -511,6 +571,21 @@ EOS
|
|
511
571
|
ul_helper(src, expect)
|
512
572
|
end
|
513
573
|
|
574
|
+
def test_ol_with_bracket
|
575
|
+
src =<<-EOS
|
576
|
+
1. AAA
|
577
|
+
2. []BBB
|
578
|
+
EOS
|
579
|
+
expect =<<-EOS
|
580
|
+
|
581
|
+
\\begin{enumerate}
|
582
|
+
\\item AAA
|
583
|
+
\\item \\lbrack{}]BBB
|
584
|
+
\\end{enumerate}
|
585
|
+
EOS
|
586
|
+
builder_helper(src, expect, :compile_olist)
|
587
|
+
end
|
588
|
+
|
514
589
|
def test_inline_raw0
|
515
590
|
assert_equal "normal", @builder.inline_raw("normal")
|
516
591
|
end
|
@@ -535,6 +610,11 @@ EOS
|
|
535
610
|
assert_equal "nor\nmal", @builder.inline_raw("|latex|nor\\nmal")
|
536
611
|
end
|
537
612
|
|
613
|
+
def test_inline_endash
|
614
|
+
ret = @builder.compile_inline("- -- --- ----")
|
615
|
+
assert_equal "{-} {-}{-} {-}{-}{-} {-}{-}{-}{-}", ret
|
616
|
+
end
|
617
|
+
|
538
618
|
def test_block_raw0
|
539
619
|
@builder.raw("<>!\"\\n& ")
|
540
620
|
expect =<<-EOS
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
require 'review/makerhelper'
|
5
|
+
require 'tmpdir'
|
6
|
+
require 'fileutils'
|
7
|
+
|
8
|
+
|
9
|
+
class MakerHelperTest < Test::Unit::TestCase
|
10
|
+
include ReVIEW
|
11
|
+
|
12
|
+
def setup
|
13
|
+
@tmpdir1 = Dir.mktmpdir
|
14
|
+
@tmpdir2 = Dir.mktmpdir
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
FileUtils.rm_rf @tmpdir1
|
19
|
+
FileUtils.rm_rf @tmpdir2
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_copy_images_to_dir
|
23
|
+
types = %w{png gif jpg jpeg svg pdf eps}
|
24
|
+
types.each do |type|
|
25
|
+
touch_file("#{@tmpdir1}/foo.#{type}")
|
26
|
+
end
|
27
|
+
FileUtils.mkdir("#{@tmpdir1}/subdir")
|
28
|
+
touch_file("#{@tmpdir1}/subdir/foo.png")
|
29
|
+
|
30
|
+
image_files = MakerHelper.copy_images_to_dir(@tmpdir1, @tmpdir2)
|
31
|
+
|
32
|
+
types.each do |type|
|
33
|
+
assert File.exists?("#{@tmpdir2}/foo.#{type}"), "Copying #{type} file failed"
|
34
|
+
assert image_files.include?("#{@tmpdir1}/foo.#{type}")
|
35
|
+
end
|
36
|
+
assert File.exists?("#{@tmpdir2}/subdir/foo.png"), "Copying a image file in a subdirectory"
|
37
|
+
assert image_files.include?("#{@tmpdir1}/subdir/foo.png")
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_copy_images_to_dir_convert
|
41
|
+
touch_file("#{@tmpdir1}/foo.eps")
|
42
|
+
|
43
|
+
image_files = MakerHelper.copy_images_to_dir(@tmpdir1, @tmpdir2,
|
44
|
+
:convert => {:eps => :png})
|
45
|
+
|
46
|
+
assert File.exists?("#{@tmpdir2}/foo.eps.png"), "EPS to PNG conversion failed"
|
47
|
+
assert image_files.include?("#{@tmpdir1}/foo.eps.png")
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
require 'tmpdir'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
REVIEW_PDFMAKER = File.expand_path('../bin/review-pdfmaker', File.dirname(__FILE__))
|
9
|
+
|
10
|
+
class PDFMakerCmdTest < Test::Unit::TestCase
|
11
|
+
def setup
|
12
|
+
@tmpdir1 = Dir.mktmpdir
|
13
|
+
@tmpdir2 = Dir.mktmpdir
|
14
|
+
|
15
|
+
@old_rubylib = ENV['RUBYLIB']
|
16
|
+
ENV['RUBYLIB'] = File.expand_path('../lib', File.dirname(__FILE__))
|
17
|
+
end
|
18
|
+
|
19
|
+
def teardown
|
20
|
+
FileUtils.rm_rf @tmpdir1
|
21
|
+
FileUtils.rm_rf @tmpdir2
|
22
|
+
ENV['RUBYLIB'] = @old_rubylib
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pdfmaker_cmd
|
26
|
+
config = prepare_samplebook(@tmpdir1)
|
27
|
+
builddir = @tmpdir1 + "/" + config['bookname'] + '-pdf'
|
28
|
+
assert ! File.exists?(builddir)
|
29
|
+
|
30
|
+
Dir.chdir(@tmpdir1) do
|
31
|
+
system("#{REVIEW_PDFMAKER} config.yml 1>/dev/null 2>/dev/null")
|
32
|
+
end
|
33
|
+
|
34
|
+
assert File.exists?(builddir)
|
35
|
+
end
|
36
|
+
end
|
data/test/test_preprocessor.rb
CHANGED
@@ -13,11 +13,11 @@ class PreprocessorStripTest < Test::Unit::TestCase
|
|
13
13
|
assert_equal expect, actual
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
def test_gets_with_comment
|
17
|
+
f = StringIO.new '#@warn(write it later)'
|
18
|
+
s = Preprocessor::Strip.new(f)
|
19
|
+
expect = '#@#' + "\n"
|
20
|
+
actual = s.gets
|
21
|
+
assert_equal expect, actual
|
22
|
+
end
|
23
23
|
end
|