review 5.6.0 → 5.7.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 (100) 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 +22 -0
  8. data/NEWS.md +21 -0
  9. data/README.md +1 -1
  10. data/lib/review/book/base.rb +1 -1
  11. data/lib/review/builder.rb +4 -8
  12. data/lib/review/epubmaker/epubcommon.rb +13 -7
  13. data/lib/review/epubmaker/epubv2.rb +0 -5
  14. data/lib/review/epubmaker/epubv3.rb +9 -1
  15. data/lib/review/epubmaker/producer.rb +2 -3
  16. data/lib/review/epubmaker.rb +2 -4
  17. data/lib/review/htmlbuilder.rb +2 -2
  18. data/lib/review/idgxmlbuilder.rb +4 -3
  19. data/lib/review/img_math.rb +9 -2
  20. data/lib/review/init.rb +3 -3
  21. data/lib/review/latexbuilder.rb +1 -1
  22. data/lib/review/lineinput.rb +2 -2
  23. data/lib/review/makerhelper.rb +2 -2
  24. data/lib/review/pdfmaker.rb +3 -5
  25. data/lib/review/update.rb +3 -7
  26. data/lib/review/version.rb +1 -1
  27. data/lib/review/yamlloader.rb +0 -3
  28. data/review.gemspec +2 -3
  29. data/samples/syntax-book/Gemfile +1 -1
  30. data/templates/opf/epubv2.opf.erb +2 -0
  31. data/templates/opf/epubv3.opf.erb +2 -0
  32. data/templates/opf/opf_manifest_epubv2.opf.erb +2 -0
  33. data/templates/opf/opf_manifest_epubv3.opf.erb +2 -0
  34. data/templates/opf/opf_tocx_epubv3.opf.erb +2 -0
  35. metadata +10 -139
  36. data/test/assets/black.eps +0 -280
  37. data/test/assets/fit.png +0 -0
  38. data/test/assets/header_listener.html +0 -35
  39. data/test/assets/img_math/img1.png +0 -0
  40. data/test/assets/img_math/img2.png +0 -0
  41. data/test/assets/img_math/img3.png +0 -0
  42. data/test/assets/large.gif +0 -0
  43. data/test/assets/large.jpg +0 -0
  44. data/test/assets/large.png +0 -0
  45. data/test/assets/large.svg +0 -65
  46. data/test/assets/syntax_book_index_detail.txt +0 -60
  47. data/test/assets/test.xml.erb +0 -3
  48. data/test/assets/test_template.tex +0 -189
  49. data/test/assets/test_template_backmatter.tex +0 -200
  50. data/test/book_test_helper.rb +0 -44
  51. data/test/run_test.rb +0 -12
  52. data/test/test_book.rb +0 -588
  53. data/test/test_book_chapter.rb +0 -329
  54. data/test/test_book_part.rb +0 -53
  55. data/test/test_builder.rb +0 -128
  56. data/test/test_catalog.rb +0 -174
  57. data/test/test_catalog_converter_cmd.rb +0 -73
  58. data/test/test_compiler.rb +0 -52
  59. data/test/test_configure.rb +0 -91
  60. data/test/test_converter.rb +0 -21
  61. data/test/test_epub3maker.rb +0 -733
  62. data/test/test_epubmaker.rb +0 -931
  63. data/test/test_epubmaker_cmd.rb +0 -56
  64. data/test/test_extentions_hash.rb +0 -66
  65. data/test/test_helper.rb +0 -62
  66. data/test/test_htmlbuilder.rb +0 -3315
  67. data/test/test_htmltoc.rb +0 -29
  68. data/test/test_htmlutils.rb +0 -43
  69. data/test/test_i18n.rb +0 -300
  70. data/test/test_idgxmlbuilder.rb +0 -1529
  71. data/test/test_idgxmlmaker_cmd.rb +0 -50
  72. data/test/test_image_finder.rb +0 -81
  73. data/test/test_img_math.rb +0 -120
  74. data/test/test_index.rb +0 -287
  75. data/test/test_indexbuilder.rb +0 -52
  76. data/test/test_latexbuilder.rb +0 -2972
  77. data/test/test_latexbuilder_v2.rb +0 -1654
  78. data/test/test_lineinput.rb +0 -104
  79. data/test/test_location.rb +0 -30
  80. data/test/test_logger.rb +0 -33
  81. data/test/test_makerhelper.rb +0 -44
  82. data/test/test_markdownbuilder.rb +0 -371
  83. data/test/test_md2inaobuilder.rb +0 -90
  84. data/test/test_pdfmaker.rb +0 -354
  85. data/test/test_pdfmaker_cmd.rb +0 -130
  86. data/test/test_plaintextbuilder.rb +0 -1214
  87. data/test/test_preprocessor.rb +0 -196
  88. data/test/test_review_ext.rb +0 -30
  89. data/test/test_reviewheaderlistener.rb +0 -49
  90. data/test/test_rstbuilder.rb +0 -619
  91. data/test/test_sec_counter.rb +0 -156
  92. data/test/test_template.rb +0 -33
  93. data/test/test_textmaker_cmd.rb +0 -58
  94. data/test/test_textutils.rb +0 -187
  95. data/test/test_tocprinter.rb +0 -46
  96. data/test/test_topbuilder.rb +0 -1301
  97. data/test/test_update.rb +0 -473
  98. data/test/test_webtocprinter.rb +0 -195
  99. data/test/test_yamlloader.rb +0 -186
  100. data/test/test_zip_exporter.rb +0 -106
@@ -1,56 +0,0 @@
1
- require 'test_helper'
2
- require 'tmpdir'
3
- require 'fileutils'
4
- require 'yaml'
5
- require 'rbconfig'
6
- require 'zip'
7
-
8
- REVIEW_EPUBMAKER = File.expand_path('../bin/review-epubmaker', __dir__)
9
-
10
- class EPUBMakerCmdTest < Test::Unit::TestCase
11
- def setup
12
- @tmpdir1 = Dir.mktmpdir
13
-
14
- @old_rubylib = ENV['RUBYLIB']
15
- ENV['RUBYLIB'] = File.expand_path('lib', __dir__)
16
- end
17
-
18
- def teardown
19
- FileUtils.rm_rf(@tmpdir1)
20
- ENV['RUBYLIB'] = @old_rubylib
21
- end
22
-
23
- def common_buildepub(bookdir, configfile, targetepubfile)
24
- unless /mswin|mingw|cygwin/.match?(RUBY_PLATFORM)
25
- config = prepare_samplebook(@tmpdir1, bookdir, nil, configfile)
26
- builddir = File.join(@tmpdir1, config['bookname'] + '-epub')
27
- assert !File.exist?(builddir)
28
-
29
- ruby_cmd = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name']) + RbConfig::CONFIG['EXEEXT']
30
- Dir.chdir(@tmpdir1) do
31
- system("#{ruby_cmd} -S #{REVIEW_EPUBMAKER} #{configfile} 1>/dev/null 2>/dev/null")
32
- end
33
- assert File.exist?(File.join(@tmpdir1, targetepubfile))
34
- end
35
- end
36
-
37
- def check_filesize(epubfile)
38
- unless /mswin|mingw|cygwin/.match?(RUBY_PLATFORM)
39
- Zip::File.open(epubfile) do |zio|
40
- zio.each do |entry|
41
- assert_not_equal(0, entry.size, "#{entry.name} is 0 byte.")
42
- end
43
- end
44
- end
45
- end
46
-
47
- def test_epubmaker_cmd_samplebook
48
- common_buildepub('sample-book/src', 'config.yml', 'book.epub')
49
- check_filesize(File.join(@tmpdir1, 'book.epub'))
50
- end
51
-
52
- def test_epubmaker_cmd_syntaxbook
53
- common_buildepub('syntax-book', 'config.yml', 'syntax-book.epub')
54
- check_filesize(File.join(@tmpdir1, 'syntax-book.epub'))
55
- end
56
- end
@@ -1,66 +0,0 @@
1
- require 'test_helper'
2
- require 'review/extentions/hash'
3
-
4
- class TestExtentionsHash < Test::Unit::TestCase
5
- def test_deep_merge_simple
6
- assert_equal({ a: 1, b: 3, c: 4 },
7
- { a: 1, b: 2 }.deep_merge(b: 3, c: 4))
8
- end
9
-
10
- def test_deep_empty_r
11
- assert_equal({ b: 3, c: 4 },
12
- {}.deep_merge(b: 3, c: 4))
13
- end
14
-
15
- def test_deep_empty_l
16
- assert_equal({ a: 1, b: 2 },
17
- { a: 1, b: 2 }.deep_merge({}))
18
- end
19
-
20
- def test_deep_merge_nested
21
- assert_equal({ a: { aa: 1, ab: 2 },
22
- b: { ba: 5, bb: 4, bc: 6 },
23
- c: { ca: 1 } },
24
- { a: { aa: 1, ab: 2 },
25
- b: { ba: 3, bb: 4 } }.deep_merge(b: { ba: 5, bc: 6 },
26
- c: { ca: 1 }))
27
- end
28
-
29
- def test_deep_merge_with_array
30
- assert_equal({ a: 'string', b: ['BA'],
31
- c: { ca: [cab: 'CAB'], cb: 3 } },
32
- { a: 1, b: ['shouldoverriden'],
33
- c: { ca: [caa: 'shouldoverriden'], cb: 3 } }.
34
- deep_merge(a: 'string', b: ['BA'],
35
- c: { ca: [cab: 'CAB'] }))
36
- end
37
-
38
- def test_deep_merge_b_simple
39
- a = { a: 1, b: 2 }
40
- a.deep_merge!(b: 3, c: 4)
41
- assert_equal({ a: 1, b: 3, c: 4 }, a)
42
- end
43
-
44
- def test_deep_b_empty_r
45
- a = {}
46
- a.deep_merge!(b: 3, c: 4)
47
- assert_equal({ b: 3, c: 4 }, a)
48
- end
49
-
50
- def test_deep_b_empty_l
51
- a = { a: 1, b: 2 }
52
- a.deep_merge!({})
53
- assert_equal({ a: 1, b: 2 }, a)
54
- end
55
-
56
- def test_deep_merge_b_nested
57
- a = { a: { aa: 1, ab: 2 },
58
- b: { ba: 3, bb: 4 } }
59
- a.deep_merge!(b: { ba: 5, bc: 6 },
60
- c: { ca: 1 })
61
- assert_equal({ a: { aa: 1, ab: 2 },
62
- b: { ba: 5, bb: 4, bc: 6 },
63
- c: { ca: 1 } },
64
- a)
65
- end
66
- end
data/test/test_helper.rb DELETED
@@ -1,62 +0,0 @@
1
- $LOAD_PATH.unshift(File.realpath('../lib', __dir__))
2
-
3
- require 'test/unit'
4
- require 'fileutils'
5
- require 'review/yamlloader'
6
- require 'review/extentions'
7
-
8
- def touch_file(path)
9
- FileUtils.touch(path)
10
- end
11
-
12
- def assets_dir
13
- File.join(__dir__, 'assets')
14
- end
15
-
16
- def prepare_samplebook(srcdir, bookdir, latextemplatedir, configfile)
17
- samplebook_dir = File.expand_path("../samples/#{bookdir}/", __dir__)
18
- files = Dir.glob(File.join(samplebook_dir, '*'))
19
- # ignore temporary built files
20
- files.delete_if { |file| file =~ /.*-(pdf|epub|text)/ || file == 'webroot' }
21
- FileUtils.cp_r(files, srcdir)
22
- if latextemplatedir
23
- # copy from review-jsbook or review-jlreq
24
- template_dir = File.expand_path("../templates/latex/#{latextemplatedir}/", __dir__)
25
- FileUtils.cp(Dir.glob(File.join(template_dir, '*')), File.join(srcdir, 'sty'))
26
- end
27
- loader = ReVIEW::YAMLLoader.new
28
- loader.load_file(File.open(File.join(srcdir, configfile)))
29
- end
30
-
31
- def compile_inline(text)
32
- @builder.compile_inline(text)
33
- end
34
-
35
- def compile_block(text)
36
- method_name = "compile_block_#{@builder.target_name}"
37
- method_name = 'compile_block_default' unless self.respond_to?(method_name, true)
38
- self.__send__(method_name, text)
39
- end
40
-
41
- def compile_block_default(text)
42
- @chapter.content = text
43
- @chapter.execute_indexer(force: true)
44
- @compiler.compile(@chapter)
45
- end
46
-
47
- def compile_block_html(text)
48
- @chapter.content = text
49
- @chapter.execute_indexer(force: true)
50
- matched = @compiler.compile(@chapter).match(Regexp.new(%Q(<body>\n(.+)</body>), Regexp::MULTILINE))
51
- if matched && matched.size > 1
52
- matched[1]
53
- else
54
- ''
55
- end
56
- end
57
-
58
- def compile_block_idgxml(text)
59
- @chapter.content = text
60
- @chapter.execute_indexer(force: true)
61
- @compiler.compile(@chapter).gsub(Regexp.new(%Q(.*<doc xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/">), Regexp::MULTILINE), '').gsub("</doc>\n", '')
62
- end