review 1.7.2 → 2.0.0.beta1

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -43
  3. data/.travis.yml +0 -9
  4. data/ChangeLog +0 -16
  5. data/Gemfile +1 -0
  6. data/README.rdoc +1 -1
  7. data/Rakefile +12 -1
  8. data/bin/review-check +21 -8
  9. data/bin/review-compile +15 -9
  10. data/bin/review-epubmaker-legacy +6 -6
  11. data/bin/review-index +13 -2
  12. data/bin/review-init +18 -12
  13. data/bin/review-preproc +14 -1
  14. data/bin/review-validate +1 -1
  15. data/bin/review-vol +13 -1
  16. data/doc/quickstart.ja.md +1 -1
  17. data/doc/quickstart.md +1 -1
  18. data/lib/epubmaker/content.rb +3 -3
  19. data/lib/epubmaker/epubcommon.rb +108 -91
  20. data/lib/epubmaker/epubv2.rb +67 -14
  21. data/lib/epubmaker/epubv3.rb +59 -25
  22. data/lib/epubmaker/producer.rb +1 -13
  23. data/lib/lineinput.rb +0 -48
  24. data/lib/review/book/base.rb +4 -12
  25. data/lib/review/book/compilable.rb +3 -1
  26. data/lib/review/book/index.rb +4 -4
  27. data/lib/review/builder.rb +54 -47
  28. data/lib/review/compiler.rb +4662 -326
  29. data/lib/review/compiler/literals_1_8.kpeg +19 -0
  30. data/lib/review/compiler/literals_1_8.rb +432 -0
  31. data/lib/review/compiler/literals_1_9.kpeg +22 -0
  32. data/lib/review/compiler/literals_1_9.rb +435 -0
  33. data/lib/review/configure.rb +8 -20
  34. data/lib/review/epubbuilder.rb +1 -1
  35. data/lib/review/epubmaker.rb +122 -52
  36. data/lib/review/ewbbuilder.rb +4 -4
  37. data/lib/review/exception.rb +1 -1
  38. data/lib/review/extentions.rb +1 -0
  39. data/lib/review/extentions/array.rb +25 -0
  40. data/lib/review/htmlbuilder.rb +286 -275
  41. data/lib/review/htmllayout.rb +0 -2
  42. data/lib/review/htmlutils.rb +4 -4
  43. data/lib/review/i18n.rb +2 -6
  44. data/lib/review/i18n.yml +1 -1
  45. data/lib/review/idgxmlbuilder.rb +239 -204
  46. data/lib/review/inaobuilder.rb +75 -73
  47. data/lib/review/latexbuilder.rb +265 -219
  48. data/lib/review/latexutils.rb +6 -6
  49. data/lib/review/layout.tex.erb +1 -1
  50. data/lib/review/location.rb +24 -0
  51. data/lib/review/markdownbuilder.rb +124 -79
  52. data/lib/review/node.rb +267 -0
  53. data/lib/review/pdfmaker.rb +92 -92
  54. data/lib/review/preprocessor.rb +51 -14
  55. data/lib/review/review.kpeg +724 -0
  56. data/lib/review/textbuilder.rb +1 -1
  57. data/lib/review/textutils.rb +24 -18
  58. data/lib/review/tocparser.rb +3 -3
  59. data/lib/review/tocprinter.rb +31 -8
  60. data/lib/review/topbuilder.rb +119 -111
  61. data/lib/review/unfold.rb +2 -2
  62. data/lib/review/version.rb +1 -1
  63. data/review.gemspec +2 -2
  64. data/rubocop-todo.yml +456 -0
  65. data/test/assets/test_template.tex +1 -1
  66. data/test/sample-book/src/config.yml +0 -1
  67. data/test/test.re +1 -1
  68. data/test/test_book.rb +4 -4
  69. data/test/test_book_chapter.rb +70 -0
  70. data/test/test_book_part.rb +1 -1
  71. data/test/test_builder.rb +6 -28
  72. data/test/test_compiler.rb +59 -14
  73. data/test/test_helper.rb +47 -4
  74. data/test/test_htmlbuilder.rb +104 -73
  75. data/test/test_i18n.rb +5 -3
  76. data/test/test_idgxmlbuilder.rb +5 -2
  77. data/test/test_inaobuilder.rb +4 -2
  78. data/test/test_latexbuilder.rb +18 -37
  79. data/test/test_lineinput.rb +25 -4
  80. data/test/test_markdownbuilder.rb +4 -22
  81. data/test/test_pdfmaker.rb +12 -11
  82. data/test/test_textutils.rb +0 -36
  83. data/test/test_topbuilder.rb +2 -0
  84. metadata +14 -28
  85. data/.rubocop_todo.yml +0 -605
  86. data/Dockerfile +0 -22
  87. data/doc/NEWS.ja.md +0 -362
  88. data/doc/NEWS.md +0 -366
  89. data/lib/review/htmltoc.rb +0 -45
  90. data/lib/review/template.rb +0 -21
  91. data/templates/html/layout-html5.html.erb +0 -17
  92. data/templates/html/layout-xhtml1.html.erb +0 -20
  93. data/templates/ncx/epubv2.ncx.erb +0 -11
  94. data/templates/opf/epubv2.opf.erb +0 -21
  95. data/templates/opf/epubv3.opf.erb +0 -18
  96. data/templates/xml/container.xml.erb +0 -6
  97. data/test/assets/test.xml.erb +0 -3
  98. data/test/sample-book/src/config-epub2.yml +0 -186
  99. data/test/test_configure.rb +0 -50
  100. data/test/test_htmltoc.rb +0 -32
  101. data/test/test_template.rb +0 -26
@@ -1,45 +0,0 @@
1
- require 'review'
2
- module ReVIEW
3
- class HTMLToc
4
- def initialize(basedir)
5
- @tochtmltxt = "toc-html.txt"
6
- @basedir = basedir
7
- end
8
-
9
- def add_item(level, filename, title, args)
10
- args_str = encode_args(args)
11
- line = [level, filename, title, args_str].join("\t")
12
- File.open(tocfilename, "a") do |f|
13
- f.write "#{line}\n"
14
- end
15
- end
16
-
17
- def each_item
18
- File.open(tocfilename) do |f|
19
- f.each_line do |line|
20
- level, file, title, args_str = line.chomp.split("\t")
21
- args = decode_args(args_str)
22
- yield level, file, title, args
23
- end
24
- end
25
- end
26
-
27
- def tocfilename
28
- File.join(@basedir, @tochtmltxt)
29
- end
30
-
31
- def decode_args(args_str)
32
- args = Hash.new
33
- args_str.split(/,\s*/).each do |pair|
34
- key, val = pair.split("=")
35
- args[key.to_sym] = val
36
- end
37
- args
38
- end
39
-
40
- def encode_args(args)
41
- args.map{|k,v| "#{k}=#{v}"}.join(",")
42
- end
43
- end
44
- end
45
-
@@ -1,21 +0,0 @@
1
- require 'erb'
2
- module ReVIEW
3
- class Template
4
- TEMPLATE_DIR = File.join(File.dirname(__FILE__), "../../templates")
5
-
6
- def self.load(filename, mode = 1)
7
- self.new(filename, mode)
8
- end
9
-
10
- def initialize(filename = nil, mode = nil)
11
- if filename
12
- content = File.read(filename)
13
- @erb = ERB.new(content, nil, mode)
14
- end
15
- end
16
-
17
- def result(bind_data = nil)
18
- @erb.result(bind_data)
19
- end
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html>
3
- <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="<%= @language %>">
4
- <head>
5
- <meta charset="UTF-8" />
6
- <% if @stylesheets.present? %>
7
- <% @stylesheets.each do |style| %>
8
- <link rel="stylesheet" type="text/css" href="<%= style %>" />
9
- <% end %>
10
- <% end%>
11
- <meta name="generator" content="Re:VIEW" />
12
- <title><%= @title %></title>
13
- </head>
14
- <body<%= @body_ext %>>
15
- <%= @body %>
16
- </body>
17
- </html>
@@ -1,20 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="<%= @language %>">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
6
- <meta http-equiv="Content-Style-Type" content="text/css"/>
7
- <% if @stylesheets.present? %>
8
- <% @stylesheets.each do |style| %>
9
- <link rel="stylesheet" type="text/css" href="<%= style %>" />
10
- <% end %>
11
- <% end%>
12
- <meta name="generator" content="Re:VIEW"/>
13
- <title><%= @title %></title>
14
- </head>
15
- <body<%= @body_ext %>>
16
- <% if @error_messages %><%= @error_messages %><% end %>
17
- <% if @warning_messages %><%= @warning_messages %><% end %>
18
- <%= @body %>
19
- </body>
20
- </html>
@@ -1,11 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
3
- <head>
4
- <meta name="dtb:depth" content="1"/>
5
- <meta name="dtb:totalPageCount" content="0"/>
6
- <meta name="dtb:maxPageNumber" content="0"/>
7
- <%= @ncx_isbn %>
8
- </head>
9
- <%= @ncx_doctitle %>
10
- <%= @ncx_navmap %>
11
- </ncx>
@@ -1,21 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <package version="2.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId">
3
- <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
4
- <%= @opf_metainfo %>
5
- <%= @opf_coverimage %>
6
- </metadata>
7
- <%= @opf_manifest %>
8
- <%= @opf_toc %>
9
- <guide>
10
- <reference type="cover" title="<%= @producer.res.v("covertitle") %>" href="<%= @producer.params["cover"] %>"/>
11
- <% if @producer.params["titlepage"].present? %>
12
- <reference type="title-page" title="<%= @producer.res.v("titlepagetitle") %>" href="titlepage.<%= @producer.params["htmlext"] %>"/>
13
- <% end %>
14
- <% if @producer.params["mytoc"].present? %>
15
- <reference type="toc" title="<%= @producer.res.v("toctitle") %>" href="<%= @producer.params["bookname"] %>-toc.<%= @producer.params["htmlext"] %>"/>
16
- <% end %>
17
- <% if @producer.params["colophon"].present? %>
18
- <reference type="colophon" title="<%= @producer.res.v("colophontitle") %>" href="colophon.<%= @producer.params["htmlext"] %>"/>
19
- <% end %>
20
- </guide>
21
- </package>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <package version="3.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId" xml:lang="<%= @producer.params["language"] %>">
3
- <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
4
- <%= @opf_metainfo %>
5
- </metadata>
6
- <%= @opf_manifest %>
7
- <%= @opf_toc %>
8
- <guide>
9
- <reference type="cover" title="<%= @producer.res.v("covertitle") %>" href="<%= @producer.params["cover"] %>"/>
10
- <% if @producer.params["titlepage"].present? %>
11
- <reference type="title-page" title="<%= @producer.res.v("titlepagetitle") %>" href="titlepage.<%= @producer.params["htmlext"] %>"/>
12
- <% end %>
13
- <reference type="toc" title="<%= @producer.res.v("toctitle") %>" href="<%= @producer.params["bookname"] %>-toc.<%= @producer.params["htmlext"] %>"/>
14
- <% if @producer.params["colophon"].present? %>
15
- <reference type="colophon" title="<%= @producer.res.v("colophontitle") %>" href="colophon.<%= @producer.params["htmlext"] %>"/>
16
- <% end %>
17
- </guide>
18
- </package>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" version="1.0">
3
- <rootfiles>
4
- <rootfile full-path="<%= @opf_path %>" media-type="application/oebps-package+xml" />
5
- </rootfiles>
6
- </container>
@@ -1,3 +0,0 @@
1
- <test>
2
- <name><%= @name %></name>
3
- </test>
@@ -1,186 +0,0 @@
1
- # review-epubmaker向けの設定ファイルの例。
2
- # yamlファイルをRe:VIEWファイルのある場所に置き、
3
- # 「review-epubmaker yamlファイル」を実行すると、<bookname>.epubファイルが
4
- # 生成されます。
5
- # このファイルはUTF-8エンコーディングで記述してください。
6
-
7
- # ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
8
- bookname: book
9
- # 記述言語。省略した場合はja
10
- language: ja
11
- # 書名
12
- booktitle: Re:VIEWサンプル書籍
13
- # 固有IDに使用するドメイン。省略した場合は時刻に基づくランダムUUIDが入る
14
- urnid: urn:uid:http://tatsu-zine.com/books/review-sample-book/1.0.0/
15
- # ISBN。省略した場合はurnidが入る
16
- # isbn: null
17
- # 著者名。["高橋征義", "John Doe"] のように配列を使うことで複数指定可
18
- aut: 高橋征義
19
- # 出版社。配列書式で複数指定可能
20
- prt: 達人出版会
21
- # 編集者。配列書式で複数指定可能
22
- edt: 高橋征義
23
- # 刊行日。YYYY-MM-DD形式。省略した場合は本日の日付
24
- date: 2011-08-03
25
- # 発行年月。YYYY-MM-DD形式による配列指定。省略した場合はdateを使用する
26
- # 複数指定する場合は次のように記述する
27
- # [["初版第第1刷の日付", "初版第第2刷の日付"], ["第2版第1刷の日付"]]
28
- # 日付の後ろを空白文字で区切り、任意の文字列を置くことも可能。
29
- history: [["2011-08-03 v1.0.0版発行"]]
30
- # 権利表記
31
- rights: (C) 2011 Masayoshi Takahashi
32
-
33
- # 以下はオプション(autと同じように配列書式で複数指定可能)。
34
- # adp: 異なるメディア向けに作り直した者
35
- # ann: 注釈記述者
36
- # arr: アレンジした者
37
- # art: グラフィックデザインおよび芸術家
38
- # asn: 関連・かつての所有者・関係者
39
- # aqt: 大きく引用された人物
40
- # aft: 後書き・奥付の責任者
41
- # aui: 序論・序文・前書きの責任者
42
- # ant: 目録責任者
43
- # bkp: メディア制作責任者
44
- # clb: 限定参加または補足者
45
- # cmm: 解釈・分析・考察者
46
- # dsr: デザイナ
47
- # edt: 編集者
48
- # ill: イラストレータ
49
- # lyr: 歌詞作成者
50
- # mdc: メタデータセットの一次的責任者
51
- # mus: 音楽家
52
- # nrt: 語り手
53
- # oth: その他
54
- # pht: 撮影責任者
55
- # red: 項目の枠組起草者
56
- # rev: 評論者
57
- # spn: 援助者
58
- # ths: 監督者
59
- # trc: 筆記・タイプ作業者
60
- # trl: 翻訳者
61
- # description: ブックの説明
62
- # subject: 短い説明用タグ
63
- # type: 書籍のカテゴリーなど
64
- # format: メディアタイプおよび特徴
65
- # source: 出版物生成の重要なリソース情報
66
- # relation: 補助的リソース
67
- # coverage: 内容の範囲や領域
68
-
69
- # htmlext: HTMLファイルの拡張子(省略した場合はhtml)
70
- # CSSファイル(配列で複数指定可、yamlファイルおよびRe:VIEWファイルを置いたディレクトリにあること)
71
- stylesheet: ["style.css"]
72
-
73
- # ePUBのバージョン (2か3) 省略した場合は2
74
- epubversion: 2
75
- # HTMLのバージョン (4か5。epubversionを3にしたときには5にする)
76
- htmlversion: 4
77
-
78
- # 目次を作成するか。省略した場合はnull(作成しない)
79
- # toc: true
80
-
81
- # 目次として抽出する見出しレベル。省略した場合は2
82
- toclevel: 2
83
- # 本文でセクション番号を表示する見出しレベル。省略した場合は2
84
- # 採番させたくない見出しには「==[nonum]」のようにnonum指定をする
85
- secnolevel: 3
86
- # EPUB2標準の目次以外に物理目次ファイルを作成するか。省略した場合はnull (作成しない)
87
- # ePUB3においてはこの設定によらず必ず作成される
88
- # mytoc: true
89
-
90
- # 付録の連番のスタイル。null(アラビア数字1〜。デフォルト)、alpha(英字A〜)、roman(ローマ数字I〜)
91
- # appendix_format: null
92
-
93
- # 表紙にするHTMLファイル。ファイル名を指定すると表紙として入る
94
- # cover: _cover.html
95
- # 表紙に配置し、書籍の影絵にも利用する画像ファイル。省略した場合はnull (画像を使わない)
96
- coverimage: cover.jpg
97
- # 表紙の後に大扉ページを作成するか。省略した場合はnull (作成しない)
98
- # titlepage: null
99
- # 自動生成される大扉ページを上書きするファイル。ファイル名を指定すると大扉として入る
100
- # titlefile: null
101
- # 原書大扉ページにするHTMLファイル。ファイル名を指定すると原書大扉として入る
102
- # originaltitlefile: null
103
- # 権利表記ページファイル。ファイル名を指定すると権利表記として入る
104
- # creditfile: null
105
- # プロフィールページファイル。ファイル名を指定すると著者紹介として入る
106
- # profile: null
107
- # プロフィールページの目次上の見出し
108
- # profiletitle: 著者紹介
109
- # 広告ファイル。ファイル名を指定すると広告として入る
110
- # advfile: null
111
- # 奥付を作成するか。デフォルトでは作成されない。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
112
- colophon: true
113
- # 裏表紙ファイル (画像はcoversまたはimagesに配置する)。ファイル名を指定すると裏表紙として入る
114
- # backcover: null
115
-
116
- # 以下のパラメータを有効にするときには、
117
- # epubmaker:
118
- # パラメータ: 値
119
- # パラメータ: 値
120
- # ...
121
- # という構成にする必要がある(インデントさせる)
122
-
123
- # epubmaker:
124
- # 目次を要素の階層表現にしない。省略した場合(null)は階層化する。
125
- # 特に部扉が入るなどの理由で、構成によっては階層化目次でepubcheckに
126
- # パスしない目次ができるが、そのようなときにはこれをtrueにする
127
- # flattoc: null
128
- # 目次のインデントレベルをスペース文字で表現する(flattocがtrueのときのみ)
129
- # flattocindent: true
130
- # NCX目次の見出しレベルごとの飾り(配列で設定)。EPUB3ではNCXは作られない
131
- # ncxindent:
132
- #-
133
- #- -
134
- # フックは、各段階で介入したいときのプログラムを指定する。自動で適切な引数が渡される
135
- # プログラムには実行権限が必要
136
- # ファイル変換処理の前に実行するプログラム。スタイルシートのコンパイルをしたいときなどに利用する。
137
- # 渡される引数1=作業用展開ディレクトリ
138
- # hook_beforeprocess: null
139
- # 前付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
140
- # 渡される引数1=作業用展開ディレクトリ
141
- # hook_afterfrontmatter: null
142
- # 本文の変換後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
143
- # 渡される引数1=作業用展開ディレクトリ
144
- # hook_afterbody: null
145
- # 後付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
146
- # 渡される引数1=作業用展開ディレクトリ
147
- # hook_afterbackmatter: null
148
- # 画像およびフォントをコピーした後に実行するプログラム。別の画像やフォントを追加したいときなどに利用する。
149
- # 渡される引数1=作業用展開ディレクトリ
150
- # hook_aftercopyimage: null
151
- # ePUB zipアーカイブ直前に実行するプログラム。メタ情報などを加工したいときなどに利用する。
152
- # 渡される引数1=ePUB準備ディレクトリ
153
- # hook_prepack: null
154
- # 変換したHTMLファイルおよびCSSを解析して厳密に使用している画像ファイルだけを取り込むか。デフォルトはnull(imagesディレクトリすべてを取り込む)
155
- # なお、フォント、カバー、広告についてはこの設定によらずディレクトリ内のものがすべて取り込まれる
156
- # verify_target_images: null
157
- # verify_target_imagesがtrueの状態において、解析で発見されなくても強制的に取り込むファイルの相対パスの配列
158
- # force_include_images: []
159
- # Re:VIEWファイル名を使わず、前付にpre01,pre02...、本文にchap01,chap02l...、後付にpost01,post02...という名前付けルールにするか
160
- # rename_for_legacy: null
161
- # ePUBアーカイブの非圧縮実行
162
- # zip_stage1: "zip -0Xq"
163
- # ePUBアーカイブの圧縮実行
164
- # zip_stage2: "zip -Xr9Dq"
165
- # ePUBアーカイブに追加するパス(デフォルトはmimetype、META-INF、OEBPS)
166
- # zip_addpath: null
167
- #
168
- # epubmaker:階層を使うものはここまで
169
-
170
- # ハイライトを有効にするか。pygments.gemが必要
171
- # pygments: null
172
-
173
- # 取り込む画像が格納されているディレクトリ。省略した場合は以下
174
- # imagedir: images
175
-
176
- # 取り込むフォントが格納されているディレクトリ。省略した場合は以下
177
- # fontdir: fonts
178
-
179
- # imagedir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
180
- # image_ext: ["png", "gif", "jpg", "jpeg", "svg", "ttf", "woff", "otf"]
181
-
182
- # fontdir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
183
- # font_ext: ["ttf", "woff", "otf"]
184
-
185
- texstyle: reviewmacro
186
- debug: true
@@ -1,50 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'test_helper'
4
- require 'review/epubmaker'
5
-
6
- class ConfigureTest < Test::Unit::TestCase
7
- include ReVIEW
8
-
9
- def setup
10
- @maker = ReVIEW::EPUBMaker.new
11
- @config = ReVIEW::Configure.values
12
- @config.merge!({
13
- "bookname" => "sample",
14
- "title" => "Sample Book",
15
- "version" => 2,
16
- "urnid" => "http://example.jp/",
17
- "date" => "2011-01-01",
18
- "language" => "ja",
19
- "epubmaker" => {"flattocindent" => true},
20
- })
21
- @output = StringIO.new
22
- I18n.setup(@config["language"])
23
- end
24
-
25
- def test_configure_class
26
- assert_equal ReVIEW::Configure, @config.class
27
- end
28
-
29
- def test_configure_get
30
- bookname = @config["bookname"]
31
- assert_equal "sample", bookname
32
- end
33
-
34
- def test_configure_get2
35
- assert_equal true, @config["epubmaker"]["flattocindent"]
36
- end
37
-
38
- def test_configure_with_maker
39
- @config.maker = "epubmaker"
40
- assert_equal true, @config["flattocindent"]
41
- assert_equal true, @config["epubmaker"]["flattocindent"]
42
- end
43
-
44
- def test_configure_with_invalidmaker
45
- @config.maker = "pdfmaker"
46
- assert_equal nil, @config["flattocindent"]
47
- assert_equal true, @config["epubmaker"]["flattocindent"]
48
- end
49
-
50
- end
data/test/test_htmltoc.rb DELETED
@@ -1,32 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'test_helper'
4
- require 'review/htmltoc'
5
-
6
- class HTMLTocTest < Test::Unit::TestCase
7
-
8
- def setup
9
- end
10
-
11
- def teardown
12
- end
13
-
14
- def test_tocfilename
15
- toc = HTMLToc.new("/var/tmp")
16
- assert_equal "/var/tmp/toc-html.txt", toc.tocfilename
17
- end
18
-
19
- def test_encode_args
20
- toc = HTMLToc.new("/var/tmp")
21
- assert_equal "chaptype=pre", toc.encode_args({:chaptype => "pre"})
22
- assert_equal "force_include=true,chaptype=body,properties=foo", toc.encode_args({:force_include => true, :chaptype => "body", "properties"=>"foo"})
23
- end
24
-
25
- def test_decode_args
26
- toc = HTMLToc.new("/var/tmp")
27
- assert_equal({:chaptype => "pre"}, toc.decode_args("chaptype=pre"))
28
- assert_equal({:force_include => "true", :chaptype => "body",:properties=>"foo"}, toc.decode_args("force_include=true,chaptype=body,properties=foo"))
29
- end
30
-
31
- end
32
-