review 5.0.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +35 -0
  3. data/.github/workflows/ruby-win.yml +8 -4
  4. data/.github/workflows/ruby.yml +6 -2
  5. data/.rubocop.yml +24 -9
  6. data/NEWS.ja.md +215 -0
  7. data/NEWS.md +215 -1
  8. data/README.md +7 -6
  9. data/Rakefile +7 -2
  10. data/bin/review +2 -4
  11. data/bin/review-catalog-converter +3 -3
  12. data/bin/review-check +6 -8
  13. data/bin/review-checkdep +1 -4
  14. data/bin/review-compile +10 -20
  15. data/bin/review-epub2html +1 -4
  16. data/bin/review-epubmaker +3 -4
  17. data/bin/review-idgxmlmaker +1 -3
  18. data/bin/review-index +11 -5
  19. data/bin/review-init +1 -4
  20. data/bin/review-pdfmaker +1 -3
  21. data/bin/review-preproc +30 -38
  22. data/bin/review-textmaker +1 -3
  23. data/bin/review-update +1 -4
  24. data/bin/review-validate +3 -3
  25. data/bin/review-vol +1 -4
  26. data/bin/review-webmaker +1 -3
  27. data/doc/config.yml.sample +23 -5
  28. data/doc/config.yml.sample-simple +1 -1
  29. data/doc/format.ja.md +49 -12
  30. data/doc/format.md +52 -12
  31. data/doc/quickstart.ja.md +11 -1
  32. data/doc/quickstart.md +11 -2
  33. data/doc/writing_vertical.ja.md +6 -0
  34. data/lib/review/book/base.rb +4 -0
  35. data/lib/review/book/book_unit.rb +15 -2
  36. data/lib/review/book/chapter.rb +3 -0
  37. data/lib/review/book/index.rb +5 -1
  38. data/lib/review/book/volume.rb +1 -0
  39. data/lib/review/builder.rb +90 -54
  40. data/lib/review/call_hook.rb +20 -0
  41. data/lib/review/catalog.rb +2 -0
  42. data/lib/review/compiler.rb +88 -52
  43. data/lib/review/configure.rb +64 -7
  44. data/lib/review/epubmaker/content.rb +113 -0
  45. data/lib/review/epubmaker/epubcommon.rb +372 -0
  46. data/lib/review/epubmaker/epubv2.rb +178 -0
  47. data/lib/review/epubmaker/epubv3.rb +231 -0
  48. data/lib/review/epubmaker/producer.rb +167 -0
  49. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  50. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  51. data/lib/review/epubmaker.rb +114 -129
  52. data/lib/review/exception.rb +13 -0
  53. data/lib/review/htmlbuilder.rb +109 -67
  54. data/lib/review/htmlutils.rb +1 -1
  55. data/lib/review/i18n.rb +1 -0
  56. data/lib/review/i18n.yml +6 -0
  57. data/lib/review/idgxmlbuilder.rb +72 -48
  58. data/lib/review/idgxmlmaker.rb +15 -14
  59. data/lib/review/img_math.rb +239 -0
  60. data/lib/review/index_builder.rb +90 -32
  61. data/lib/review/init.rb +4 -4
  62. data/lib/review/latexbox.rb +58 -0
  63. data/lib/review/latexbuilder.rb +79 -58
  64. data/lib/review/latexutils.rb +9 -1
  65. data/lib/review/lineinput.rb +112 -2
  66. data/lib/review/loggable.rb +27 -0
  67. data/lib/review/logger.rb +89 -2
  68. data/lib/review/makerhelper.rb +7 -206
  69. data/lib/review/markdownbuilder.rb +44 -4
  70. data/lib/review/pdfmaker.rb +70 -51
  71. data/lib/review/plaintextbuilder.rb +20 -11
  72. data/lib/review/preprocessor/directive.rb +35 -0
  73. data/lib/review/preprocessor/line.rb +34 -0
  74. data/lib/review/preprocessor/repository.rb +177 -0
  75. data/lib/review/preprocessor.rb +105 -301
  76. data/lib/review/rstbuilder.rb +13 -4
  77. data/lib/review/sec_counter.rb +1 -0
  78. data/lib/review/template.rb +11 -1
  79. data/lib/review/textmaker.rb +23 -20
  80. data/lib/review/textutils.rb +10 -17
  81. data/lib/review/tocprinter.rb +93 -71
  82. data/lib/review/topbuilder.rb +44 -19
  83. data/lib/review/update.rb +5 -6
  84. data/lib/review/version.rb +1 -1
  85. data/lib/review/volumeprinter.rb +11 -12
  86. data/lib/review/webmaker.rb +31 -27
  87. data/lib/review/webtocprinter.rb +10 -9
  88. data/lib/review/yamlloader.rb +2 -1
  89. data/lib/review.rb +1 -1
  90. data/review.gemspec +5 -3
  91. data/samples/sample-book/src/config-epub2.yml +1 -1
  92. data/samples/sample-book/src/config.yml +1 -1
  93. data/samples/sample-book/src/lib/tasks/review.rake +19 -1
  94. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  95. data/samples/syntax-book/ch01.re +1 -1
  96. data/samples/syntax-book/ch02.re +30 -6
  97. data/samples/syntax-book/ch03.re +1 -1
  98. data/samples/syntax-book/images/img3-2.png +0 -0
  99. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  100. data/templates/html/_colophon.html.erb +23 -0
  101. data/templates/html/_colophon_history.html.erb +9 -0
  102. data/templates/html/_cover.html.erb +10 -0
  103. data/templates/html/_part_body.html.erb +6 -0
  104. data/templates/html/_titlepage.html.erb +20 -0
  105. data/templates/html/layout-html5.html.erb +6 -0
  106. data/templates/html/layout-xhtml1.html.erb +6 -0
  107. data/templates/latex/config.erb +11 -0
  108. data/templates/latex/review-jlreq/review-base.sty +7 -9
  109. data/templates/latex/review-jlreq/review-jlreq.cls +48 -6
  110. data/templates/latex/review-jlreq/review-style.sty +6 -1
  111. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  112. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  113. data/templates/latex/review-jsbook/review-base.sty +13 -9
  114. data/templates/latex/review-jsbook/review-jsbook.cls +41 -6
  115. data/templates/latex/review-jsbook/review-style.sty +6 -1
  116. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  117. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  118. data/templates/opf/epubv2.opf.erb +7 -7
  119. data/templates/opf/epubv3.opf.erb +7 -7
  120. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  121. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  122. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  123. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  124. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  125. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  126. data/templates/web/html/layout-html5.html.erb +6 -5
  127. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  128. data/test/assets/header_listener.html +35 -0
  129. data/test/assets/img_math/img1.png +0 -0
  130. data/test/assets/img_math/img2.png +0 -0
  131. data/test/assets/img_math/img3.png +0 -0
  132. data/test/assets/syntax_book_index_detail.txt +60 -0
  133. data/test/assets/test_template.tex +7 -1
  134. data/test/assets/test_template_backmatter.tex +7 -1
  135. data/test/run_test.rb +1 -1
  136. data/test/test_book_chapter.rb +27 -4
  137. data/test/test_builder.rb +10 -8
  138. data/test/test_catalog_converter_cmd.rb +1 -1
  139. data/test/test_epub3maker.rb +168 -124
  140. data/test/test_epubmaker.rb +248 -131
  141. data/test/test_epubmaker_cmd.rb +15 -4
  142. data/test/test_helper.rb +5 -4
  143. data/test/test_htmlbuilder.rb +170 -31
  144. data/test/test_idgxmlbuilder.rb +44 -23
  145. data/test/test_idgxmlmaker_cmd.rb +7 -3
  146. data/test/test_img_math.rb +111 -0
  147. data/test/test_index.rb +30 -4
  148. data/test/test_indexbuilder.rb +5 -5
  149. data/test/test_latexbuilder.rb +151 -26
  150. data/test/test_latexbuilder_v2.rb +18 -10
  151. data/test/test_lineinput.rb +20 -93
  152. data/test/test_markdownbuilder.rb +42 -0
  153. data/test/test_pdfmaker.rb +90 -0
  154. data/test/test_pdfmaker_cmd.rb +2 -2
  155. data/test/test_plaintextbuilder.rb +56 -40
  156. data/test/test_preprocessor.rb +188 -1
  157. data/test/test_reviewheaderlistener.rb +49 -0
  158. data/test/test_rstbuilder.rb +13 -0
  159. data/test/test_template.rb +12 -2
  160. data/test/test_textmaker_cmd.rb +5 -1
  161. data/test/test_tocprinter.rb +46 -0
  162. data/test/test_topbuilder.rb +50 -19
  163. data/test/test_update.rb +34 -34
  164. data/test/test_zip_exporter.rb +5 -6
  165. metadata +95 -17
  166. data/lib/epubmaker/content.rb +0 -111
  167. data/lib/epubmaker/epubcommon.rb +0 -449
  168. data/lib/epubmaker/epubv2.rb +0 -142
  169. data/lib/epubmaker/epubv3.rb +0 -235
  170. data/lib/epubmaker/producer.rb +0 -375
  171. data/lib/epubmaker/zip_exporter.rb +0 -81
  172. data/lib/epubmaker.rb +0 -23
  173. data/lib/lineinput.rb +0 -155
@@ -3,6 +3,12 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="<%=h @language %>">
4
4
  <head>
5
5
  <meta charset="UTF-8" />
6
+ <% if @javascripts.present? %>
7
+ <% @javascripts.each do |js| %>
8
+ <%= js %>
9
+
10
+ <% end %>
11
+ <% end %>
6
12
  <% if @stylesheets.present? %>
7
13
  <% @stylesheets.each do |style| %>
8
14
  <link rel="stylesheet" type="text/css" href="<%=h style %>" />
@@ -47,10 +53,5 @@
47
53
  <p class="copyright"><%=h @config["copyright"] %></p>
48
54
  <% end %>
49
55
  </footer>
50
- <% if @javascripts.present? %>
51
- <% @javascripts.each do |script| %>
52
- <script src="<%=h script %>"></script>
53
- <% end %>
54
- <% end%>
55
56
  </body>
56
57
  </html>
@@ -3,6 +3,12 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="<%= @language %>">
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
6
+ <% if @javascripts.present? %>
7
+ <% @javascripts.each do |js| %>
8
+ <%= js %>
9
+
10
+ <% end %>
11
+ <% end %>
6
12
  <meta http-equiv="Content-Style-Type" content="text/css"/>
7
13
  <% if @stylesheets.present? %>
8
14
  <% @stylesheets.each do |style| %>
@@ -0,0 +1,35 @@
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="ja">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="stylesheet" type="text/css" href="style.css" />
7
+ <meta name="generator" content="Re:VIEW" />
8
+ <title>first chapter</title>
9
+ </head>
10
+ <body>
11
+ <h1><a id="h1"></a><span class="secno">第1章 </span>first chapter</h1>
12
+
13
+ <h2><a id="h1-1"></a><span class="secno">1.1 </span>first section</h2>
14
+
15
+ <h3><a id="h1-1-1"></a>first <img src="images/icon1.jpg" alt="subsection" /></h3>
16
+
17
+ <h2><a id="h1-2"></a><span class="secno">1.2 </span>second section</h2>
18
+
19
+ <h3 id="dummy1"><a id="h1-2-1"></a>dummy subsection</h3>
20
+
21
+ <h2><a id="h1-3"></a><span class="secno">1.3 </span>third section</h2>
22
+
23
+ <h2 id="ch01_nonum1" notoc="true">notoc section</h2>
24
+
25
+ <h2 id="dummy2" notoc="true">notoc section</h2>
26
+
27
+ <a id="ch01_nonum3" /><h2 id="ch01_nonum3" hidden="true">nodisp section</h2>
28
+
29
+ <a id="dummy3" /><h2 id="dummy3" hidden="true">nodisp section</h2>
30
+
31
+ <h2 id="ch01_nonum5">nonum section</h2>
32
+
33
+ <h2 id="dummy4">nonum section</h2>
34
+ </body>
35
+ </html>
Binary file
Binary file
Binary file
@@ -0,0 +1,60 @@
1
+ =============================
2
+ 272C 16L 1P pre01
3
+ -----------------------------
4
+ 272C 16L 0.7P 前書き
5
+ =============================
6
+ 9C 1L 1P
7
+ -----------------------------
8
+ 9C 1L 0.0P 第I部 部扉見出し
9
+ =============================
10
+ 2444C 75L 5P ch01
11
+ -----------------------------
12
+ 419C 9L 0.6P 第1章 章見出し
13
+ 270C 9L 0.5P 1.1 節見出し
14
+ 137C 3L 0.2P 1.1.1 項見出し……に脚注を入れるとTeXではエラー
15
+ 187C 5L 0.3P 1.1.1.1 段見出し
16
+ 46C 1L 0.0P 1.2 長い節見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
17
+ 48C 1L 0.0P 1.2.1 長い項見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
18
+ 193C 4L 0.3P 1.2.1.1 長い段見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
19
+ 138C 2L 0.2P 1.2.2 採番する項見出し
20
+ 8C 1L 0.0P 1.3 箇条書き
21
+ 255C 12L 0.6P 1.3.1 ナカグロ箇条書き
22
+ 159C 7L 0.4P 1.3.2 番号箇条書き
23
+ 584C 21L 1.0P 1.3.3 用語リスト
24
+ =============================
25
+ 169C 2L 1P part2
26
+ -----------------------------
27
+ 169C 2L 0.2P 第II部 部見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
28
+ =============================
29
+ 5796C 180L 11P ch02
30
+ -----------------------------
31
+ 52C 1L 0.0P 第2章 長い章見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
32
+ 10C 1L 0.0P 2.1 ブロック命令
33
+ 784C 27L 1.4P 2.1.1 ソースコード
34
+ 338C 8L 0.5P 2.1.2 図
35
+ 709C 22L 1.3P 2.1.3 表
36
+ 1154C 56L 2.8P 2.1.4 囲み記事
37
+ 110C 2L 0.2P 2.2 後注
38
+ 523C 14L 0.8P 2.3 LaTeX式
39
+ 11C 1L 0.0P 2.4 インライン命令
40
+ 967C 17L 1.3P 2.4.1 書体
41
+ 74C 1L 0.0P 2.4.2 見出し内 BOLD,ITALIC,TT,STRONG,EM,CODE,TTB,TTI,AMI,BOU,KW,UNDERLINE,INS、
42
+ 797C 22L 1.3P 2.4.3 参照
43
+ 39C 2L 0.1P 2.4.4 参考文献
44
+ 194C 3L 0.3P 2.4.5 索引
45
+ 34C 3L 0.1P 2.4.5.1 後注
46
+ =============================
47
+ 2255C 38L 4P ch03
48
+ -----------------------------
49
+ 2255C 38L 3.1P 第3章 コラム
50
+ =============================
51
+ 134C 12L 1P appA
52
+ -----------------------------
53
+ 10C 1L 0.0P 付録A 付録の見出し
54
+ 8C 1L 0.0P A.1 付録の節
55
+ 10C 1L 0.0P A.1.1 付録の項
56
+ 106C 9L 0.4P A.1.1.1 付録の段
57
+ =============================
58
+ 219C 3L 1P bib
59
+ -----------------------------
60
+ 219C 3L 0.2P 参考文献
@@ -1,6 +1,6 @@
1
1
  \documentclass[dvipdfmx]{review-jsbook}
2
2
  \makeatletter
3
- \def\review@reviewversion{4.2.0}
3
+ \def\review@reviewversion{5.3.0}
4
4
  \def\review@texcompiler{uplatex}
5
5
  \def\review@documentclass{review-jsbook}
6
6
 
@@ -58,6 +58,12 @@
58
58
  \ifdefined\covermatter\else% for 4.0.0 compatibility
59
59
  \def\covermatter{}
60
60
  \fi
61
+ \ifdefined\reviewchapref\else% for 5.1.0 compatibility
62
+ \newcommand{\reviewchapref}[2]{\hyperref[##2]{##1}}
63
+ \fi
64
+ \ifdefined\reviewtcy\else% for 5.3.0 compatibility
65
+ \DeclareRobustCommand{\reviewtcy}[1]{\rensuji{##1}}
66
+ \fi
61
67
  }
62
68
 
63
69
  \makeatother
@@ -1,6 +1,6 @@
1
1
  \documentclass[dvipdfmx]{review-jsbook}
2
2
  \makeatletter
3
- \def\review@reviewversion{4.2.0}
3
+ \def\review@reviewversion{5.3.0}
4
4
  \def\review@texcompiler{uplatex}
5
5
  \def\review@documentclass{review-jsbook}
6
6
 
@@ -69,6 +69,12 @@ some ad content
69
69
  \ifdefined\covermatter\else% for 4.0.0 compatibility
70
70
  \def\covermatter{}
71
71
  \fi
72
+ \ifdefined\reviewchapref\else% for 5.1.0 compatibility
73
+ \newcommand{\reviewchapref}[2]{\hyperref[##2]{##1}}
74
+ \fi
75
+ \ifdefined\reviewtcy\else% for 5.3.0 compatibility
76
+ \DeclareRobustCommand{\reviewtcy}[1]{\rensuji{##1}}
77
+ \fi
72
78
  }
73
79
 
74
80
  \makeatother
data/test/run_test.rb CHANGED
@@ -1,4 +1,4 @@
1
- base_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
1
+ base_dir = File.expand_path('..', __dir__)
2
2
  lib_dir = File.join(base_dir, 'lib')
3
3
  test_dir = File.join(base_dir, 'test')
4
4
 
@@ -1,4 +1,5 @@
1
1
  require 'book_test_helper'
2
+
2
3
  class ChapterTest < Test::Unit::TestCase
3
4
  include BookTestHelper
4
5
 
@@ -41,12 +42,12 @@ class ChapterTest < Test::Unit::TestCase
41
42
 
42
43
  def test_size
43
44
  ch = Book::Chapter.new(nil, nil, nil, __FILE__, :io)
44
- filesize = IO.read(__FILE__, mode: 'rt:BOM|utf-8').size
45
+ filesize = File.read(__FILE__, mode: 'rt:BOM|utf-8').size
45
46
  assert_equal filesize, ch.size
46
47
 
47
48
  File.open(__FILE__, 'r') do |i|
48
49
  ch = Book::Chapter.new(nil, nil, nil, nil, i)
49
- filesize = IO.read(__FILE__, mode: 'rt:BOM|utf-8').size
50
+ filesize = File.read(__FILE__, mode: 'rt:BOM|utf-8').size
50
51
  assert_equal filesize, ch.size
51
52
  end
52
53
  end
@@ -118,11 +119,11 @@ class ChapterTest < Test::Unit::TestCase
118
119
  assert !pre.on_chaps?
119
120
 
120
121
  ch2_path = File.join(dir, 'chapter2.re')
121
- File.open(ch2_path, 'w') {}
122
+ FileUtils.touch(ch2_path)
122
123
  ch2 = Book::Chapter.new(book, 2, 'chapter2', ch2_path)
123
124
 
124
125
  ch3_path = File.join(dir, 'chapter3.re')
125
- File.open(ch3_path, 'w') {}
126
+ FileUtils.touch(ch3_path)
126
127
  ch3 = Book::Chapter.new(book, 3, 'chapter3', ch3_path)
127
128
 
128
129
  assert ch2.on_chaps?
@@ -174,6 +175,7 @@ E
174
175
 
175
176
  def test_footnote_index
176
177
  content = <<E
178
+ @<fn>{abc}@<fn>{def}@<fn>{xyz}
177
179
  //footnote[abc][textabc...]
178
180
  //footnote[def][textdef...]
179
181
  //footnote[xyz][textxyz...]
@@ -189,6 +191,27 @@ E
189
191
  end
190
192
  end
191
193
 
194
+ def test_endnote_index
195
+ content = <<E
196
+ @<fn>{abc}@<fn>{def}@<fn>{xyz}@<endnote>{abc}@<endnote>{def}@<endnote>{xyz}
197
+ //footnote[abc][textabc...]
198
+ //footnote[def][textdef...]
199
+ //footnote[xyz][textxyz...]
200
+ //endnote[abc][textabc...]
201
+ //endnote[def][textdef...]
202
+ //endnote[xyz][textxyz...]
203
+ //list[def][def-list]{
204
+ //}
205
+ //list[others][others-list]{
206
+ //}
207
+ E
208
+ do_test_index(content, Book::EndnoteIndex, :endnote_index, :endnote) do |ch|
209
+ assert_raises ReVIEW::KeyError do
210
+ ch.endnote('xyz2')
211
+ end
212
+ end
213
+ end
214
+
192
215
  def test_bibpaper
193
216
  do_test_index(<<E, Book::BibpaperIndex, :bibpaper_index, :bibpaper, filename: 'bib.re')
194
217
  //bibpaper[abc][text...]
data/test/test_builder.rb CHANGED
@@ -85,15 +85,17 @@ class BuidlerTest < Test::Unit::TestCase
85
85
  chapter = ReVIEW::Book::Chapter.new(ReVIEW::Book::Base.new, 1, 'chap1', nil, StringIO.new)
86
86
  b.bind(nil, chapter, nil)
87
87
  e = assert_raises(ReVIEW::ApplicationError) { b.inline_list('unknown|list1') }
88
- assert_equal ': error: unknown list: unknown|list1', e.message
88
+ assert_equal 'unknown list: unknown|list1', e.message
89
89
  e = assert_raises(ReVIEW::ApplicationError) { b.inline_table('unknown|table1') }
90
- assert_equal ': error: unknown table: unknown|table1', e.message
90
+ assert_equal 'unknown table: unknown|table1', e.message
91
91
  e = assert_raises(ReVIEW::ApplicationError) { b.inline_img('unknown|img1') }
92
- assert_equal ': error: unknown image: unknown|img1', e.message
92
+ assert_equal 'unknown image: unknown|img1', e.message
93
93
  e = assert_raises(ReVIEW::ApplicationError) { b.inline_column('unknown|column1') }
94
- assert_equal ': error: unknown column: unknown|column1', e.message
94
+ assert_equal 'unknown column: unknown|column1', e.message
95
95
  e = assert_raises(ReVIEW::ApplicationError) { b.inline_fn('unknown|footnote1') }
96
- assert_equal ': error: unknown footnote: unknown|footnote1', e.message
96
+ assert_equal 'unknown footnote: unknown|footnote1', e.message
97
+ e = assert_raises(ReVIEW::ApplicationError) { b.inline_endnote('endnote1') }
98
+ assert_equal 'unknown endnote: endnote1', e.message
97
99
  end
98
100
 
99
101
  def test_nest_error
@@ -102,16 +104,16 @@ class BuidlerTest < Test::Unit::TestCase
102
104
  assert_equal '', b.solve_nest('')
103
105
  b.children = ['dl']
104
106
  e = assert_raises(ReVIEW::ApplicationError) { b.solve_nest('') }
105
- assert_equal ': error: //beginchild of dl misses //endchild', e.message
107
+ assert_equal ': //beginchild of dl misses //endchild', e.message
106
108
  b.children = ['ul', 'dl', 'ol']
107
109
  e = assert_raises(ReVIEW::ApplicationError) { b.solve_nest('') }
108
- assert_equal ': error: //beginchild of ol,dl,ul misses //endchild', e.message
110
+ assert_equal ': //beginchild of ol,dl,ul misses //endchild', e.message
109
111
 
110
112
  assert_equal "\u0001→/ol←\u0001", b.endchild
111
113
  assert_equal "\u0001→/dl←\u0001", b.endchild
112
114
  assert_equal "\u0001→/ul←\u0001", b.endchild
113
115
  e = assert_raises(ReVIEW::ApplicationError) { b.endchild }
114
- assert_equal ": error: //endchild is shown, but any opened //beginchild doesn't exist", e.message
116
+ assert_equal ": //endchild is shown, but any opened //beginchild doesn't exist", e.message
115
117
  end
116
118
 
117
119
  class XBuilder < Builder
@@ -4,7 +4,7 @@ require 'fileutils'
4
4
  require 'yaml'
5
5
  require 'rbconfig'
6
6
 
7
- load(File.expand_path('../bin/review-catalog-converter', File.dirname(__FILE__)))
7
+ load(File.expand_path('../bin/review-catalog-converter', __dir__))
8
8
 
9
9
  class CatalogConverterCmdTest < Test::Unit::TestCase
10
10
  def test_parse_chaps