review 5.5.0 → 5.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rubocop.yml +31 -0
  3. data/.github/workflows/ruby-tex.yml +1 -1
  4. data/.github/workflows/ruby-win.yml +1 -1
  5. data/.github/workflows/ruby.yml +2 -2
  6. data/.rubocop.yml +13 -2
  7. data/NEWS.ja.md +40 -0
  8. data/NEWS.md +39 -0
  9. data/README.md +1 -1
  10. data/doc/format.ja.md +70 -33
  11. data/doc/format.md +69 -34
  12. data/doc/quickstart.ja.md +7 -1
  13. data/doc/quickstart.md +7 -1
  14. data/lib/review/book/base.rb +1 -1
  15. data/lib/review/builder.rb +6 -10
  16. data/lib/review/epubmaker/epubcommon.rb +13 -7
  17. data/lib/review/epubmaker/epubv2.rb +0 -5
  18. data/lib/review/epubmaker/epubv3.rb +9 -1
  19. data/lib/review/epubmaker/producer.rb +2 -3
  20. data/lib/review/epubmaker.rb +2 -4
  21. data/lib/review/htmlbuilder.rb +2 -2
  22. data/lib/review/i18n.yml +24 -2
  23. data/lib/review/idgxmlbuilder.rb +29 -10
  24. data/lib/review/idgxmlmaker.rb +11 -1
  25. data/lib/review/img_math.rb +9 -2
  26. data/lib/review/init.rb +10 -5
  27. data/lib/review/latexbuilder.rb +2 -2
  28. data/lib/review/lineinput.rb +2 -2
  29. data/lib/review/makerhelper.rb +2 -2
  30. data/lib/review/pdfmaker.rb +3 -5
  31. data/lib/review/update.rb +3 -7
  32. data/lib/review/version.rb +1 -1
  33. data/lib/review/yamlloader.rb +0 -3
  34. data/review.gemspec +3 -3
  35. data/samples/syntax-book/Gemfile +1 -1
  36. data/templates/latex/config.erb +6 -1
  37. data/templates/latex/review-jlreq/review-base.sty +11 -8
  38. data/templates/latex/review-jsbook/review-base.sty +15 -11
  39. data/templates/opf/epubv2.opf.erb +2 -0
  40. data/templates/opf/epubv3.opf.erb +2 -0
  41. data/templates/opf/opf_manifest_epubv2.opf.erb +2 -0
  42. data/templates/opf/opf_manifest_epubv3.opf.erb +2 -0
  43. data/templates/opf/opf_tocx_epubv3.opf.erb +2 -0
  44. metadata +24 -139
  45. data/test/assets/black.eps +0 -280
  46. data/test/assets/fit.png +0 -0
  47. data/test/assets/header_listener.html +0 -35
  48. data/test/assets/img_math/img1.png +0 -0
  49. data/test/assets/img_math/img2.png +0 -0
  50. data/test/assets/img_math/img3.png +0 -0
  51. data/test/assets/large.gif +0 -0
  52. data/test/assets/large.jpg +0 -0
  53. data/test/assets/large.png +0 -0
  54. data/test/assets/large.svg +0 -65
  55. data/test/assets/syntax_book_index_detail.txt +0 -60
  56. data/test/assets/test.xml.erb +0 -3
  57. data/test/assets/test_template.tex +0 -179
  58. data/test/assets/test_template_backmatter.tex +0 -190
  59. data/test/book_test_helper.rb +0 -44
  60. data/test/run_test.rb +0 -12
  61. data/test/test_book.rb +0 -588
  62. data/test/test_book_chapter.rb +0 -329
  63. data/test/test_book_part.rb +0 -53
  64. data/test/test_builder.rb +0 -126
  65. data/test/test_catalog.rb +0 -174
  66. data/test/test_catalog_converter_cmd.rb +0 -73
  67. data/test/test_compiler.rb +0 -52
  68. data/test/test_configure.rb +0 -91
  69. data/test/test_converter.rb +0 -21
  70. data/test/test_epub3maker.rb +0 -733
  71. data/test/test_epubmaker.rb +0 -931
  72. data/test/test_epubmaker_cmd.rb +0 -56
  73. data/test/test_extentions_hash.rb +0 -66
  74. data/test/test_helper.rb +0 -62
  75. data/test/test_htmlbuilder.rb +0 -3312
  76. data/test/test_htmltoc.rb +0 -29
  77. data/test/test_htmlutils.rb +0 -43
  78. data/test/test_i18n.rb +0 -300
  79. data/test/test_idgxmlbuilder.rb +0 -1487
  80. data/test/test_idgxmlmaker_cmd.rb +0 -50
  81. data/test/test_image_finder.rb +0 -81
  82. data/test/test_img_math.rb +0 -120
  83. data/test/test_index.rb +0 -287
  84. data/test/test_indexbuilder.rb +0 -52
  85. data/test/test_latexbuilder.rb +0 -2964
  86. data/test/test_latexbuilder_v2.rb +0 -1654
  87. data/test/test_lineinput.rb +0 -104
  88. data/test/test_location.rb +0 -30
  89. data/test/test_logger.rb +0 -33
  90. data/test/test_makerhelper.rb +0 -44
  91. data/test/test_markdownbuilder.rb +0 -371
  92. data/test/test_md2inaobuilder.rb +0 -90
  93. data/test/test_pdfmaker.rb +0 -354
  94. data/test/test_pdfmaker_cmd.rb +0 -130
  95. data/test/test_plaintextbuilder.rb +0 -1211
  96. data/test/test_preprocessor.rb +0 -196
  97. data/test/test_review_ext.rb +0 -30
  98. data/test/test_reviewheaderlistener.rb +0 -49
  99. data/test/test_rstbuilder.rb +0 -616
  100. data/test/test_sec_counter.rb +0 -156
  101. data/test/test_template.rb +0 -33
  102. data/test/test_textmaker_cmd.rb +0 -58
  103. data/test/test_textutils.rb +0 -187
  104. data/test/test_tocprinter.rb +0 -46
  105. data/test/test_topbuilder.rb +0 -1298
  106. data/test/test_update.rb +0 -473
  107. data/test/test_webtocprinter.rb +0 -195
  108. data/test/test_yamlloader.rb +0 -186
  109. data/test/test_zip_exporter.rb +0 -106
@@ -1,73 +0,0 @@
1
- require 'test_helper'
2
- require 'tmpdir'
3
- require 'fileutils'
4
- require 'yaml'
5
- require 'rbconfig'
6
-
7
- load(File.expand_path('../bin/review-catalog-converter', __dir__))
8
-
9
- class CatalogConverterCmdTest < Test::Unit::TestCase
10
- def test_parse_chaps
11
- input = <<-EOS
12
- ch01.re
13
- ch02.re
14
- ch03.re
15
- EOS
16
-
17
- expected = <<-EOS
18
- CHAPS:
19
- - ch01.re
20
- - ch02.re
21
- - ch03.re
22
-
23
- EOS
24
- assert_equal expected, parse_chaps(input)
25
- end
26
-
27
- def test_parse_chaps_empty
28
- assert_equal "CHAPS:\n\n", parse_chaps('')
29
- assert_equal "CHAPS:\n\n", parse_chaps(nil)
30
- end
31
-
32
- def test_parse_parts
33
- parts = <<-EOS
34
- pt01
35
- pt02
36
- pt03
37
- EOS
38
-
39
- chaps = <<-EOS
40
- ch01.re
41
-
42
- ch02.re
43
- ch03.re
44
-
45
- ch04.re
46
- EOS
47
-
48
- expected = <<-EOS
49
- CHAPS:
50
- - pt01:
51
- - ch01.re
52
- - pt02:
53
- - ch02.re
54
- - ch03.re
55
- - pt03:
56
- - ch04.re
57
-
58
- EOS
59
-
60
- assert_equal expected, parse_parts(parts, chaps)
61
- end
62
-
63
- def test_parse_parts_chaps_empty
64
- assert_equal "CHAPS:\n\n", parse_parts('', '')
65
- assert_equal "CHAPS:\n\n", parse_parts(nil, nil)
66
- end
67
-
68
- def test_parse_postdef
69
- assert_equal "APPENDIX:\n\n", parse_postdef('', true)
70
- assert_equal "POSTDEF:\n\n", parse_postdef('')
71
- assert_equal "POSTDEF:\n\n", parse_postdef('', false)
72
- end
73
- end
@@ -1,52 +0,0 @@
1
- require 'test_helper'
2
- require 'review/compiler'
3
- require 'review/book'
4
- require 'review/latexbuilder'
5
-
6
- class CompilerTest < Test::Unit::TestCase
7
- include ReVIEW
8
-
9
- def setup
10
- @builder = LATEXBuilder.new
11
- @c = Compiler.new(@builder)
12
- end
13
-
14
- def test_parse_args
15
- args = @c.__send__(:parse_args, '[foo][bar]')
16
- assert_equal ['foo', 'bar'], args
17
- end
18
-
19
- def test_parse_args_with_brace1
20
- args = @c.__send__(:parse_args, '[fo[\\][\\]o][bar]')
21
- assert_equal ['fo[][]o', 'bar'], args
22
- end
23
-
24
- def test_parse_args_with_brace2
25
- args = @c.__send__(:parse_args, '[f\\]o\\]o][bar]')
26
- assert_equal ['f]o]o', 'bar'], args
27
- end
28
-
29
- def test_parse_args_with_backslash
30
- args = @c.__send__(:parse_args, '[foo][bar\\buz]')
31
- assert_equal ['foo', 'bar\\buz'], args
32
- end
33
-
34
- def test_parse_args_with_backslash2
35
- args = @c.__send__(:parse_args, '[foo][bar\\#\\[\\!]')
36
- assert_equal ['foo', 'bar\\#\\[\\!'], args
37
- end
38
-
39
- def test_parse_args_with_backslash3
40
- args = @c.__send__(:parse_args, '[foo][bar\\\\buz]')
41
- assert_equal ['foo', 'bar\\buz'], args
42
- end
43
-
44
- def test_replace_fence
45
- source_str = <<-'EOB'
46
- @<m>${}\}|$, @<m>|{}\}\$|, @<m>|\{\a\}|, @<tt>|}|, @<tt>|\|, @<tt>|\\|, @<tt>|\\\|
47
- EOB
48
- expected = "@<m>{\x03\x04\x02\x04|}, @<m>{\x03\x04\x02\x04\x02$}, @<m>{\x02\x03\x02a\x02\x04}, @<tt>{\x04}, @<tt>{\x02}, @<tt>{\x02\x02}, @<tt>{\x02\x02\x02}\n"
49
- actual = @c.__send__(:replace_fence, source_str)
50
- assert_equal expected, actual
51
- end
52
- end
@@ -1,91 +0,0 @@
1
- require 'test_helper'
2
- require 'review/epubmaker'
3
-
4
- class ConfigureTest < Test::Unit::TestCase
5
- include ReVIEW
6
-
7
- def setup
8
- @maker = ReVIEW::EPUBMaker.new
9
- @config = ReVIEW::Configure.values
10
- @config.merge!(
11
- 'bookname' => 'sample',
12
- 'title' => 'Sample Book',
13
- 'version' => 2,
14
- 'urnid' => 'http://example.jp/',
15
- 'date' => '2011-01-01',
16
- 'language' => 'ja',
17
- 'epubmaker' => { 'flattocindent' => true,
18
- 'title' => 'Sample Book(EPUB)' }
19
- )
20
- @output = StringIO.new
21
- I18n.setup(@config['language'])
22
- end
23
-
24
- def test_configure_class
25
- assert_equal ReVIEW::Configure, @config.class
26
- end
27
-
28
- def test_configure_get
29
- bookname = @config['bookname']
30
- assert_equal 'sample', bookname
31
- end
32
-
33
- def test_configure_get2
34
- assert_equal true, @config['epubmaker']['flattocindent']
35
- end
36
-
37
- def test_configure_with_maker
38
- @config.maker = 'epubmaker'
39
- assert_equal true, @config['flattocindent']
40
- assert_equal true, @config['epubmaker']['flattocindent']
41
- end
42
-
43
- def test_configure_with_maker_override
44
- @config.maker = 'epubmaker'
45
- assert_equal 'Sample Book(EPUB)', @config['title']
46
- @config.maker = 'pdfmaker'
47
- assert_equal 'Sample Book', @config['title']
48
- end
49
-
50
- def test_configure_with_invalidmaker
51
- @config.maker = 'pdfmaker'
52
- assert_equal nil, @config['flattocindent']
53
- assert_equal true, @config['epubmaker']['flattocindent']
54
- end
55
-
56
- def test_check_version_nosetting
57
- @config.delete('review_version')
58
- assert_raise ReVIEW::ConfigError do
59
- @config.check_version('2.0.0')
60
- end
61
- end
62
-
63
- def test_check_version_noversion
64
- @config['review_version'] = nil
65
- assert_nothing_raised ReVIEW::ConfigError do
66
- @config.check_version('2.0.0')
67
- end
68
- end
69
-
70
- def test_check_version
71
- @config['review_version'] = '2.1'
72
- assert_nothing_raised do
73
- @config.check_version('2.1.0')
74
- end
75
- assert_nothing_raised do
76
- @config.check_version('2.2.0')
77
- end
78
- assert_nothing_raised do
79
- @config.check_version('2.2.5')
80
- end
81
- assert_raise ReVIEW::ConfigError do
82
- @config.check_version('2.0.0')
83
- end
84
- assert_raise ReVIEW::ConfigError do
85
- @config.check_version('3.0.0')
86
- end
87
- assert_raise ReVIEW::ConfigError do
88
- @config.check_version('1.8.0')
89
- end
90
- end
91
- end
@@ -1,21 +0,0 @@
1
- require 'test_helper'
2
- require 'book_test_helper'
3
- require 'review/converter'
4
- require 'review/latexbuilder'
5
-
6
- class ConverterTest < Test::Unit::TestCase
7
- include BookTestHelper
8
-
9
- def setup
10
- end
11
-
12
- def test_converter_builder
13
- mktmpbookdir('config.yml' => "bookname: book\n") do |dir, _book, _files|
14
- @book = Book::Base.new(dir)
15
- config_file = File.join(dir, 'config.yml')
16
- @book.load_config(config_file)
17
- @converter = ReVIEW::Converter.new(@book, ReVIEW::LATEXBuilder.new)
18
- assert_equal 'latex', @book.config['builder']
19
- end
20
- end
21
- end