review 1.1.0 → 1.2.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.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +1 -0
  3. data/ChangeLog +100 -0
  4. data/README.rdoc +11 -12
  5. data/Rakefile +6 -2
  6. data/bin/review-check +1 -1
  7. data/bin/review-compile +13 -4
  8. data/bin/review-epubmaker +172 -24
  9. data/bin/review-epubmaker-ng +8 -161
  10. data/bin/review-index +1 -1
  11. data/bin/review-init +17 -5
  12. data/bin/review-pdfmaker +40 -19
  13. data/bin/review-preproc +1 -1
  14. data/bin/review-validate +2 -2
  15. data/bin/review-vol +1 -1
  16. data/debian/control +2 -2
  17. data/doc/format.rdoc +23 -6
  18. data/doc/format_idg.rdoc +3 -3
  19. data/doc/libepubmaker/config.yaml +163 -0
  20. data/doc/quickstart.rdoc +27 -27
  21. data/doc/sample.yaml +10 -5
  22. data/lib/epubmaker.rb +2 -5
  23. data/lib/epubmaker/content.rb +9 -6
  24. data/lib/epubmaker/epubv2.rb +233 -109
  25. data/lib/epubmaker/epubv3.rb +83 -119
  26. data/lib/epubmaker/producer.rb +50 -20
  27. data/lib/epubmaker/resource.rb +22 -8
  28. data/lib/review/book/base.rb +1 -0
  29. data/lib/review/book/chapter.rb +2 -2
  30. data/lib/review/book/compilable.rb +1 -1
  31. data/lib/review/book/index.rb +33 -27
  32. data/lib/review/book/parameters.rb +3 -2
  33. data/lib/review/book/part.rb +1 -1
  34. data/lib/review/builder.rb +10 -42
  35. data/lib/review/compiler.rb +1 -1
  36. data/lib/review/configure.rb +3 -3
  37. data/lib/review/epubmaker.rb +428 -0
  38. data/lib/review/htmlbuilder.rb +45 -95
  39. data/lib/review/htmlutils.rb +2 -0
  40. data/lib/review/i18n.yaml +25 -0
  41. data/lib/review/idgxmlbuilder.rb +11 -9
  42. data/lib/review/inaobuilder.rb +1 -1
  43. data/lib/review/latexbuilder.rb +7 -6
  44. data/lib/review/latexutils.rb +6 -0
  45. data/lib/review/makerhelper.rb +4 -2
  46. data/lib/review/markdownbuilder.rb +8 -0
  47. data/lib/review/sec_counter.rb +71 -0
  48. data/lib/review/topbuilder.rb +0 -1
  49. data/lib/review/version.rb +2 -2
  50. data/review.gemspec +4 -4
  51. data/test/sample-book/README.md +2 -2
  52. data/test/sample-book/src/Rakefile +2 -2
  53. data/test/sample-book/src/config.yml +4 -4
  54. data/test/sample-book/src/images/cover.jpg +0 -0
  55. data/test/sample-book/src/sty/{samplemacro.sty → reviewmacro.sty} +1 -1
  56. data/test/test_book_parameter.rb +1 -1
  57. data/test/test_epubmaker.rb +77 -15
  58. data/test/test_epubmaker_cmd.rb +11 -7
  59. data/test/test_helper.rb +7 -0
  60. data/test/test_htmlbuilder.rb +39 -6
  61. data/test/test_idgxmlbuilder.rb +14 -2
  62. data/test/test_inaobuilder.rb +2 -1
  63. data/test/test_latexbuilder.rb +23 -2
  64. data/test/test_makerhelper.rb +19 -3
  65. data/test/test_markdownbuilder.rb +35 -0
  66. data/test/test_pdfmaker_cmd.rb +11 -7
  67. data/test/test_topbuilder.rb +36 -2
  68. metadata +18 -18
  69. data/VERSION +0 -1
  70. data/doc/libepubmaker/sample.yaml +0 -90
@@ -88,10 +88,18 @@ module ReVIEW
88
88
  "*#{str.gsub(/\*/, '\*')}*"
89
89
  end
90
90
 
91
+ def inline_em(str)
92
+ "*#{str.gsub(/\*/, '\*')}*"
93
+ end
94
+
91
95
  def inline_b(str)
92
96
  "**#{str.gsub(/\*/, '\*')}**"
93
97
  end
94
98
 
99
+ def inline_strong(str)
100
+ "**#{str.gsub(/\*/, '\*')}**"
101
+ end
102
+
95
103
  def inline_code(str)
96
104
  "`#{str}`"
97
105
  end
@@ -0,0 +1,71 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Copyright (c) 2008-2014 Minero Aoki, Kenshi Muto, Masayoshi Takahashi,
4
+ # KADO Masanori
5
+ #
6
+ # This program is free software.
7
+ # You can distribute or modify this program under the terms of
8
+ # the GNU LGPL, Lesser General Public License version 2.1.
9
+ #
10
+
11
+ module ReVIEW
12
+
13
+ # Secion Counter class
14
+ #
15
+ class SecCounter
16
+ def initialize(n, chapter)
17
+ @chapter = chapter
18
+ reset(n)
19
+ end
20
+
21
+ def reset(n)
22
+ @counter = Array.new(n, 0)
23
+ end
24
+
25
+ def inc(level)
26
+ n = level - 2
27
+ if n >= 0
28
+ @counter[n] += 1
29
+ end
30
+ if @counter.size > n
31
+ (n+1 .. @counter.size).each do |i|
32
+ @counter[i] = 0
33
+ end
34
+ end
35
+ end
36
+
37
+ def anchor(level)
38
+ str = "#{@chapter.number}"
39
+ 0.upto(level-2) do |i|
40
+ str << "-#{@counter[i]}"
41
+ end
42
+ str
43
+ end
44
+
45
+ def prefix(level, secnolevel)
46
+ return nil if @chapter.number.blank?
47
+
48
+ if level == 1
49
+ if secnolevel >= 1
50
+ placeholder = if @chapter.is_a? ReVIEW::Book::Part
51
+ 'part'
52
+ elsif @chapter.on_POSTDEF?
53
+ 'appendix'
54
+ else
55
+ 'chapter'
56
+ end
57
+ return "#{I18n.t(placeholder, @chapter.number)}#{I18n.t("chapter_postfix")}"
58
+ end
59
+ else
60
+ if secnolevel >= level && !@chapter.on_POSTDEF?
61
+ prefix = "#{@chapter.number}"
62
+ 0.upto(level-2) do |i|
63
+ prefix << ".#{@counter[i]}"
64
+ end
65
+ prefix << I18n.t("chapter_postfix")
66
+ return prefix
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -10,7 +10,6 @@
10
10
 
11
11
  require 'review/builder'
12
12
  require 'review/textutils'
13
- require 'review/compiler'
14
13
 
15
14
  module ReVIEW
16
15
 
@@ -1,3 +1,3 @@
1
- module Review
2
- VERSION = "1.1.0"
1
+ module ReVIEW
2
+ VERSION = "1.2.0"
3
3
  end
data/review.gemspec CHANGED
@@ -4,16 +4,16 @@ require "review/version"
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "review"
7
- gem.version = Review::VERSION
7
+ gem.version = ReVIEW::VERSION
8
8
  gem.platform = Gem::Platform::RUBY
9
9
  gem.license = "LGPL"
10
10
  gem.authors = ["kmuto", "takahashim"]
11
11
  gem.email = "kmuto@debian.org"
12
12
  gem.homepage = "http://github.com/kmuto/review"
13
- gem.summary = "ReVIEW: a easy-to-use digital publishing system"
14
- gem.description = "ReVIEW is a digital publishing system for books and ebooks. It supports InDesign, EPUB and LaTeX."
13
+ gem.summary = "Re:VIEW: a easy-to-use digital publishing system"
14
+ gem.description = "Re:VIEW is a digital publishing system for books and ebooks. It supports InDesign, EPUB and LaTeX."
15
15
  gem.required_rubygems_version = Gem::Requirement.new(">= 0") if gem.respond_to? :required_rubygems_version=
16
- gem.date = "2013-03-29"
16
+ gem.date = "2014-04-02"
17
17
 
18
18
  gem.files = `git ls-files`.split("\n")
19
19
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -1,5 +1,5 @@
1
- # ReVIEWサンプル書籍データ
1
+ # Re:VIEWサンプル書籍データ
2
2
 
3
- ReVIEW ( http://github.com/kmuto/review )で書籍データを作るためのサンプルファイルです。
3
+ Re:VIEW ( http://github.com/kmuto/review )で書籍データを作るためのサンプルファイルです。
4
4
 
5
5
  必要なファイルはsrc/ディレクトリ内にあります。srcディレクトリで「review-epubmaker config.yml」と実行すればEPUBが、「review-pdfmaker config.yml」とすればPDFが生成されます(PDFの生成にはpLaTeXとdvipdfmxが必要です)。
@@ -1,14 +1,14 @@
1
1
  require 'fileutils'
2
2
 
3
3
  def build(mode, chapter)
4
- sh "review-compile --target=#{mode} --footnotetext --singledirmode --stylesheet=style.css #{chapter} > tmp"
4
+ sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
5
5
  mode_ext = {"html" => "html", "latex" => "tex",
6
6
  "idgxml" => "xml", "inao" => "inao"}
7
7
  FileUtils.mv "tmp", chapter.gsub(/re\z/, mode_ext[mode])
8
8
  end
9
9
 
10
10
  def build_all(mode)
11
- sh "review-compile --all --target=#{mode} --footnotetext --singledirmode --stylesheet=style.css"
11
+ sh "review-compile --all --target=#{mode} --footnotetext --stylesheet=style.css"
12
12
  end
13
13
 
14
14
  desc "build html (Usage: rake build re=target.re)"
@@ -1,5 +1,5 @@
1
1
  # review-epubmaker向けの設定ファイルの例。
2
- # yamlファイルをReVIEWファイルのある場所に置き、
2
+ # yamlファイルをRe:VIEWファイルのある場所に置き、
3
3
  # 「review-epubmaker yamlファイル」を実行すると、<bookname>.epubファイルが
4
4
  # 生成されます。
5
5
  # このファイルはUTF-8エンコーディングで記述してください。
@@ -7,7 +7,7 @@
7
7
  # ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
8
8
  bookname: book
9
9
  # 書名
10
- booktitle: ReVIEWサンプル書籍
10
+ booktitle: Re:VIEWサンプル書籍
11
11
  # 著者
12
12
  aut: 高橋征義
13
13
  prt: 達人出版会
@@ -37,7 +37,7 @@ coverfile: _cover.html
37
37
  coverimage: cover.jpg
38
38
  # 固有IDに使用するドメイン
39
39
  urnid: http://tatsu-zine.com/books/review-sample-book/1.0.0/
40
- # CSSファイル (yamlファイルおよびReVIEWファイルを置いたディレクトリにあること
40
+ # CSSファイル (yamlファイルおよびRe:VIEWファイルを置いたディレクトリにあること
41
41
  stylesheet: main.css
42
42
  # 目次として抽出するレベル
43
43
  toclevel: 2
@@ -49,7 +49,7 @@ params: --stylesheet=main.css
49
49
  mytoc: true
50
50
  # 奥付生成用
51
51
  colophon: true
52
- texstyle: samplemacro
52
+ texstyle: reviewmacro
53
53
  pubhistory: |
54
54
  2011年08月03日 v1.0.0版発行
55
55
  debug: true
Binary file
@@ -15,7 +15,7 @@
15
15
  \renewcommand{\headrulewidth}{0pt}
16
16
  \renewcommand{\footrulewidth}{0pt}}
17
17
 
18
- %%Helveticaを使う
18
+ %% using Helvetica as sans-serif
19
19
  \renewcommand{\sfdefault}{phv}
20
20
 
21
21
  \sloppy
@@ -21,7 +21,7 @@ class ParametersTest < Test::Unit::TestCase
21
21
 
22
22
  def test_s_get_page_metric
23
23
  mod = Module.new
24
- assert_raises ArgumentError do # XXX: OK?
24
+ assert_nothing_raised do # XXX: OK?
25
25
  params = Book::Parameters.get_page_metric(mod)
26
26
  assert params
27
27
  end
@@ -8,7 +8,7 @@ class EPUBMakerTest < Test::Unit::TestCase
8
8
 
9
9
  def setup
10
10
  @producer = Producer.new
11
- @producer.mergeparams({
11
+ @producer.merge_params({
12
12
  "bookname" => "sample",
13
13
  "title" => "Sample Book",
14
14
  "version" => 2,
@@ -24,12 +24,12 @@ class EPUBMakerTest < Test::Unit::TestCase
24
24
  end
25
25
 
26
26
  def test_resource_en
27
- @producer.mergeparams({"language" => "en"})
27
+ @producer.merge_params({"language" => "en"})
28
28
  assert_equal "Table of Contents", @producer.res.v("toctitle")
29
29
  end
30
30
 
31
31
  def test_resource_ja
32
- @producer.mergeparams({"language" => "ja"})
32
+ @producer.merge_params({"language" => "ja"})
33
33
  assert_equal "目次", @producer.res.v("toctitle")
34
34
  end
35
35
 
@@ -403,21 +403,47 @@ EOT
403
403
  </head>
404
404
  <body>
405
405
  <h1 class="toc-title">Table of Contents</h1>
406
- <ul class="toc-h1">
407
- <li><a href="ch01.html">CH01</a></li>
406
+
407
+ <ul class="toc-h1"><li><a href="ch01.html">CH01</a></li>
408
408
  <li><a href="ch02.html">CH02</a>
409
- <ul class="toc-h2">
410
- <li><a href="ch02.html#S1">CH02.1</a></li>
409
+ <ul class="toc-h2"><li><a href="ch02.html#S1">CH02.1</a></li>
411
410
  <li><a href="ch02.html#S2">CH02.2</a></li>
412
- </ul>
413
- </li>
411
+ </ul></li>
414
412
  <li><a href="ch03.html">CH03</a>
415
- <ul class="toc-h2">
413
+ <ul class="toc-h2"><li><a href="ch03.html#S1">CH03.1</a></li>
414
+ </ul></li>
415
+ <li><a href="ch04.html">CH04</a></li>
416
+ </ul></body>
417
+ </html>
418
+ EOT
419
+ assert_equal expect, @output.string
420
+ end
421
+
422
+ def test_stage3_flat
423
+ @producer.merge_params({"flattoc" => true, "flattocindent" => false})
424
+ stage3
425
+ @producer.mytoc(@output)
426
+ expect = <<EOT
427
+ <?xml version="1.0" encoding="UTF-8"?>
428
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
429
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="en">
430
+ <head>
431
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
432
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
433
+ <meta name="generator" content="EPUBMaker::Producer"/>
434
+ <title>Table of Contents</title>
435
+ </head>
436
+ <body>
437
+ <h1 class="toc-title">Table of Contents</h1>
438
+ <ul class="toc-h1">
439
+ <li><a href="ch01.html">CH01</a></li>
440
+ <li><a href="ch02.html">CH02</a></li>
441
+ <li><a href="ch02.html#S1">CH02.1</a></li>
442
+ <li><a href="ch02.html#S2">CH02.2</a></li>
443
+ <li><a href="ch03.html">CH03</a></li>
416
444
  <li><a href="ch03.html#S1">CH03.1</a></li>
417
- </ul>
418
- </li>
419
445
  <li><a href="ch04.html">CH04</a></li>
420
- </ul>
446
+ </ul>
421
447
  </body>
422
448
  </html>
423
449
  EOT
@@ -470,8 +496,40 @@ EOT
470
496
  end
471
497
 
472
498
  def test_colophon_default
473
- @producer.params["aut"] = "Mr.Smith"
474
- @producer.params["prt"] = "BLUEPRINT"
499
+ @producer.params["aut"] = ["Mr.Smith"]
500
+ @producer.params["prt"] = ["BLUEPRINT"]
501
+ @producer.colophon(@output)
502
+ expect = <<EOT
503
+ <?xml version="1.0" encoding="UTF-8"?>
504
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
505
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="en">
506
+ <head>
507
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
508
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
509
+ <meta name="generator" content="EPUBMaker::Producer"/>
510
+ <title>Colophon</title>
511
+ </head>
512
+ <body>
513
+ <div class="colophon">
514
+ <p class="title">Sample Book</p>
515
+ <div class="pubhistory">
516
+ <p>2011年1月1日 発行</p>
517
+ </div>
518
+ <table class="colophon">
519
+ <tr><th>Author</th><td>Mr.Smith</td></tr>
520
+ <tr><th>Publisher</th><td>BLUEPRINT</td></tr>
521
+ </table>
522
+ </div>
523
+ </body>
524
+ </html>
525
+ EOT
526
+ assert_equal expect, @output.string
527
+ end
528
+
529
+ def test_colophon_pht
530
+ @producer.params["aut"] = ["Mr.Smith"]
531
+ @producer.params["prt"] = ["BLUEPRINT"]
532
+ @producer.params["pht"] = ["Mrs.Smith"]
475
533
  @producer.colophon(@output)
476
534
  expect = <<EOT
477
535
  <?xml version="1.0" encoding="UTF-8"?>
@@ -486,9 +544,13 @@ EOT
486
544
  <body>
487
545
  <div class="colophon">
488
546
  <p class="title">Sample Book</p>
547
+ <div class="pubhistory">
548
+ <p>2011年1月1日 発行</p>
549
+ </div>
489
550
  <table class="colophon">
490
551
  <tr><th>Author</th><td>Mr.Smith</td></tr>
491
552
  <tr><th>Publisher</th><td>BLUEPRINT</td></tr>
553
+ <tr><th>Director of Photography</th><td>Mrs.Smith</td></tr>
492
554
  </table>
493
555
  </div>
494
556
  </body>
@@ -4,6 +4,7 @@ require 'test_helper'
4
4
  require 'tmpdir'
5
5
  require 'fileutils'
6
6
  require 'yaml'
7
+ require 'rbconfig'
7
8
 
8
9
  REVIEW_EPUBMAKER = File.expand_path('../bin/review-epubmaker', File.dirname(__FILE__))
9
10
 
@@ -23,14 +24,17 @@ class EPUBMakerCmdTest < Test::Unit::TestCase
23
24
  end
24
25
 
25
26
  def test_epubmaker_cmd
26
- config = prepare_samplebook(@tmpdir1)
27
- builddir = @tmpdir1 + "/" + config['bookname'] + '-epub'
28
- assert ! File.exists?(builddir)
27
+ if RUBY_VERSION !~ /^1.8/
28
+ config = prepare_samplebook(@tmpdir1)
29
+ builddir = @tmpdir1 + "/" + config['bookname'] + '-epub'
30
+ assert ! File.exist?(builddir)
29
31
 
30
- Dir.chdir(@tmpdir1) do
31
- system("#{REVIEW_EPUBMAKER} config.yml 1>/dev/null 2>/dev/null")
32
- end
32
+ ruby_cmd = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
33
+ Dir.chdir(@tmpdir1) do
34
+ system("#{ruby_cmd} -S #{REVIEW_EPUBMAKER} config.yml 1>/dev/null 2>/dev/null")
35
+ end
33
36
 
34
- assert File.exists?(builddir)
37
+ assert File.exist?(builddir)
38
+ end
35
39
  end
36
40
  end
data/test/test_helper.rb CHANGED
@@ -8,6 +8,13 @@ def ul_helper(src, expect)
8
8
  assert_equal expect, @builder.raw_result
9
9
  end
10
10
 
11
+ def ol_helper(src, expect)
12
+ io = StringIO.new(src)
13
+ li = LineInput.new(io)
14
+ @compiler.__send__(:compile_olist, li)
15
+ assert_equal expect, @builder.raw_result
16
+ end
17
+
11
18
  def builder_helper(src, expect, method_sym)
12
19
  io = StringIO.new(src)
13
20
  li = LineInput.new(io)
@@ -15,7 +15,6 @@ class HTMLBuidlerTest < Test::Unit::TestCase
15
15
  "secnolevel" => 2, # for IDGXMLBuilder, HTMLBuilder
16
16
  "inencoding" => "UTF-8",
17
17
  "outencoding" => "UTF-8",
18
- "subdirmode" => nil,
19
18
  "stylesheet" => nil, # for HTMLBuilder
20
19
  }
21
20
  ReVIEW.book.param = @param
@@ -25,13 +24,22 @@ class HTMLBuidlerTest < Test::Unit::TestCase
25
24
  @builder.bind(@compiler, @chapter, location)
26
25
  end
27
26
 
27
+ def test_xmlns_ops_prefix_epub3
28
+ ReVIEW.book.param["epubversion"] = 3
29
+ assert_equal "epub", @builder.xmlns_ops_prefix
30
+ end
31
+
32
+ def test_xmlns_ops_prefix_epub2
33
+ assert_equal "ops", @builder.xmlns_ops_prefix
34
+ end
35
+
28
36
  def test_headline_level1
29
37
  @builder.headline(1,"test","this is test.")
30
38
  assert_equal %Q|<h1 id="test"><a id="h1"></a>第1章 this is test.</h1>\n|, @builder.raw_result
31
39
  end
32
40
 
33
41
  def test_headline_level1_without_secno
34
- @param["secnolevel"] = 0
42
+ ReVIEW.book.param["secnolevel"] = 0
35
43
  @builder.headline(1,"test","this is test.")
36
44
  assert_equal %Q|<h1 id="test"><a id="h1"></a>this is test.</h1>\n|, @builder.raw_result
37
45
  end
@@ -52,7 +60,7 @@ class HTMLBuidlerTest < Test::Unit::TestCase
52
60
  end
53
61
 
54
62
  def test_headline_level3_with_secno
55
- @param["secnolevel"] = 3
63
+ ReVIEW.book.param["secnolevel"] = 3
56
64
  @builder.headline(3,"test","this is test.")
57
65
  assert_equal %Q|\n<h3 id="test"><a id="h1-0-1"></a>1.0.1 this is test.</h3>\n|, @builder.raw_result
58
66
  end
@@ -288,12 +296,22 @@ class HTMLBuidlerTest < Test::Unit::TestCase
288
296
  end
289
297
  @builder.list(["test1", "test1.5", "", "test<i>2</i>"], "samplelist", "this is @<b>{test}<&>_")
290
298
 
291
- begin # FIXME: Use params instead of exception handling
299
+ assert_equal %Q|<div class="caption-code">\n<p class="caption">リスト1.1: this is <b>test</b>&lt;&amp;&gt;_</p>\n<pre class="list">test1\ntest1.5\n\ntest<i>2</i>\n</pre>\n</div>\n|, @builder.raw_result
300
+ end
301
+
302
+ def test_list_pygments
303
+ def @chapter.list(id)
304
+ Book::ListIndex::Item.new("samplelist",1)
305
+ end
306
+ begin
292
307
  require 'pygments'
293
- assert_equal %Q|<div class="caption-code">\n<p class="caption">リスト1.1: this is <b>test</b>&lt;&amp;&gt;_</p>\n<pre class="list">test1\ntest1.5\n\ntest<span style="color: #666666">&lt;</span>i<span style="color: #666666">&gt;2&lt;/</span>i<span style="color: #666666">&gt;</span>\n</pre>\n</div>\n|, @builder.raw_result
294
308
  rescue LoadError
295
- assert_equal %Q|<div class="caption-code">\n<p class="caption">リスト1.1: this is <b>test</b>&lt;&amp;&gt;_</p>\n<pre class="list">test1\ntest1.5\n\ntest<i>2</i>\n</pre>\n</div>\n|, @builder.raw_result
309
+ return true
296
310
  end
311
+ ReVIEW.book.param["pygments"] = true
312
+ @builder.list(["test1", "test1.5", "", "test<i>2</i>"], "samplelist", "this is @<b>{test}<&>_")
313
+
314
+ assert_equal %Q|<div class="caption-code">\n<p class="caption">リスト1.1: this is <b>test</b>&lt;&amp;&gt;_</p>\n<pre class="list">test1\ntest1.5\n\ntest<span style="color: #008000; font-weight: bold">&lt;i&gt;</span>2<span style="color: #008000; font-weight: bold">&lt;/i&gt;</span>\n</pre>\n</div>\n|, @builder.raw_result
297
315
  end
298
316
 
299
317
  def test_emlist
@@ -561,6 +579,21 @@ EOS
561
579
  ul_helper(src, expect)
562
580
  end
563
581
 
582
+ def test_ol
583
+ src =<<-EOS
584
+ 3. AAA
585
+ 3. BBB
586
+ EOS
587
+
588
+ expect =<<-EOS
589
+ <ol>
590
+ <li>AAA</li>
591
+ <li>BBB</li>
592
+ </ol>
593
+ EOS
594
+ ol_helper(src, expect)
595
+ end
596
+
564
597
  def test_inline_raw0
565
598
  assert_equal "normal", @builder.inline_raw("normal")
566
599
  end