diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml index 798cfb5a3..53675b92f 100644 --- a/.github/workflows/rubocop.yml +++ b/.github/workflows/rubocop.yml @@ -13,10 +13,10 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.0', '3.1', '3.2', '3.3'] + ruby: ['3.0', '3.1', '3.2', '3.3', '3.4'] os: [ubuntu-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/ruby-win.yml b/.github/workflows/ruby-win.yml index 01533c5fd..bd139bb30 100644 --- a/.github/workflows/ruby-win.yml +++ b/.github/workflows/ruby-win.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [ '3.3', '3.2', '3.1', '3.0' ] + ruby: [ '3.4', '3.3', '3.2', '3.1', '3.0' ] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 3671376ca..2cbb6222b 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -13,19 +13,18 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.0', '3.1', '3.2', '3.3'] + ruby: ['3.0', '3.1', '3.2', '3.3', '3.4'] os: [ubuntu-latest, macOS-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} + bundler-cache: true - name: fix ImageMagick policy.xml on Linux if: runner.os == 'Linux' run: sudo sed -i 's/none/read|write/g' /etc/ImageMagick-6/policy.xml - name: Build and test with Rake run: | - gem install bundler --no-document - bundle install --retry 3 bundle exec rake test diff --git a/.rubocop.yml b/.rubocop.yml index 7a007e950..a47a963f3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -94,8 +94,9 @@ Style/TernaryParentheses: Enabled: false Style/FrozenStringLiteralComment: - EnforcedStyle: never Enabled: true + Exclude: + - 'samples/**/*' Style/SafeNavigation: Enabled: false diff --git a/Gemfile b/Gemfile index a4da9ae88..fce680bb3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + source 'https://rubygems.org' # Specify your gem's dependencies in review.gemspec diff --git a/Rakefile b/Rakefile index b499b060e..f6800a065 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + begin require 'bundler' Bundler::GemHelper.install_tasks diff --git a/bin/review b/bin/review index c96275b29..36e00e7b0 100755 --- a/bin/review +++ b/bin/review @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # review: Wrapper command to call subcommand # diff --git a/bin/review-catalog-converter b/bin/review-catalog-converter index bdf28b0cf..52bdfd42e 100755 --- a/bin/review-catalog-converter +++ b/bin/review-catalog-converter @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2014-2019 Masanori Kado, Kenshi Muto # diff --git a/bin/review-check b/bin/review-check index 6baba3344..973bd94aa 100755 --- a/bin/review-check +++ b/bin/review-check @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2010-2019 Kenshi Muto, Minero Aoki # 1999-2007 Minero Aoki diff --git a/bin/review-checkdep b/bin/review-checkdep index 34ef17cd2..925f35653 100755 --- a/bin/review-checkdep +++ b/bin/review-checkdep @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2007-2017 Minero Aoki, Kenshi Muto # 1999-2007 Minero Aoki @@ -11,7 +13,7 @@ $LOAD_PATH.unshift(File.realpath('../lib', __dir__)) -PREDEF_FILE = 'PREDEF'.freeze +PREDEF_FILE = 'PREDEF' def main @provided = parse_predefined diff --git a/bin/review-compile b/bin/review-compile index 16f79f35d..404d4c93d 100755 --- a/bin/review-compile +++ b/bin/review-compile @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2008-2019 Kenshi Muto, Masayoshi Takahashi, KADO Masanori, Minero Aoki # Copyright (c) 1999-2007 Minero Aoki @@ -18,7 +20,7 @@ require 'yaml' include ReVIEW::Loggable -DEFAULT_CONFIG_FILENAME = 'config.yml'.freeze +DEFAULT_CONFIG_FILENAME = 'config.yml' def main Signal.trap(:INT) { exit 1 } diff --git a/bin/review-epub2html b/bin/review-epub2html index fa64acf97..3b6014fa6 100755 --- a/bin/review-epub2html +++ b/bin/review-epub2html @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2018 Kenshi Muto # diff --git a/bin/review-epubmaker b/bin/review-epubmaker index 7db68b9ba..f7356caf7 100755 --- a/bin/review-epubmaker +++ b/bin/review-epubmaker @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # Copyright (c) 2010-2019 Kenshi Muto and Masayoshi Takahashi # # This program is free software. diff --git a/bin/review-idgxmlmaker b/bin/review-idgxmlmaker index 03b2220e6..4cbb1a04f 100755 --- a/bin/review-idgxmlmaker +++ b/bin/review-idgxmlmaker @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # Copyright (c) 2019 Kenshi Muto # # This program is free software. diff --git a/bin/review-index b/bin/review-index index 07c0d46b0..d597ca1e0 100755 --- a/bin/review-index +++ b/bin/review-index @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2008-2020 Minero Aoki, Kenshi Muto # 1999-2007 Minero Aoki diff --git a/bin/review-init b/bin/review-init index 28940ca6f..68f73bd65 100755 --- a/bin/review-init +++ b/bin/review-init @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2013-2017 Masanori Kado, Masayoshi Takahashi, Kenshi Muto # diff --git a/bin/review-pdfmaker b/bin/review-pdfmaker index 7f313b1de..f0b68feba 100755 --- a/bin/review-pdfmaker +++ b/bin/review-pdfmaker @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # Copyright (c) 2010-2017 Kenshi Muto and Masayoshi Takahashi # # This program is free software. diff --git a/bin/review-preproc b/bin/review-preproc index 54d0a1c11..a69acd92f 100755 --- a/bin/review-preproc +++ b/bin/review-preproc @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2010-2019 Minero Aoki, Kenshi Muto # 1999-2007 Minero Aoki diff --git a/bin/review-textmaker b/bin/review-textmaker index 607ba5581..6a553e868 100755 --- a/bin/review-textmaker +++ b/bin/review-textmaker @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # Copyright (c) 2018 Kenshi Muto # # This program is free software. diff --git a/bin/review-update b/bin/review-update index 57ddef1fc..fcb890371 100755 --- a/bin/review-update +++ b/bin/review-update @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2018 Kenshi Muto # diff --git a/bin/review-validate b/bin/review-validate index 70d53eb11..639e18043 100755 --- a/bin/review-validate +++ b/bin/review-validate @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # Copyright (c) 2010-2019 Kenshi Muto # # This program is free software diff --git a/bin/review-vol b/bin/review-vol index fccf93f97..d07c14ffd 100755 --- a/bin/review-vol +++ b/bin/review-vol @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # Copyright (c) 2014-2020 Minero Aoki, Kenshi Muto # 2003-2014 Minero Aoki diff --git a/bin/review-webmaker b/bin/review-webmaker index b3e891766..a4008bfb5 100755 --- a/bin/review-webmaker +++ b/bin/review-webmaker @@ -1,4 +1,6 @@ #!/usr/bin/env ruby +# frozen_string_literal: true + # # This program is free software. # You can distribute or modify this program under the terms of diff --git a/lib/review.rb b/lib/review.rb index 4729bc9b6..dcf368edd 100644 --- a/lib/review.rb +++ b/lib/review.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Dir["#{__dir__}/review/*.rb"].sort.each do |path| require "review/#{File.basename(path, '.rb')}" end diff --git a/lib/review/book.rb b/lib/review/book.rb index 3e3df80d8..72f85e437 100644 --- a/lib/review/book.rb +++ b/lib/review/book.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2017 Minero Aoki, Kenshi Muto # 2002-2008 Minero Aoki # diff --git a/lib/review/book/base.rb b/lib/review/book/base.rb index d094d7517..980720450 100644 --- a/lib/review/book/base.rb +++ b/lib/review/book/base.rb @@ -1,4 +1,5 @@ -# +# frozen_string_literal: true + # Copyright (c) 2009-2023 Minero Aoki, Kenshi Muto, Masayoshi Takahashi # 2002-2008 Minero Aoki # @@ -395,7 +396,7 @@ def read_file(filename) @logger.warn "!!! #{filename} is obsoleted. please use catalog.yml." end end - res = '' + res = +'' File.open(filename_join(@basedir, filename), 'rt:BOM|utf-8') do |f| f.each_line do |line| next if line.start_with?('#') diff --git a/lib/review/book/bib.rb b/lib/review/book/bib.rb index fb1f66307..2ef24c3c3 100644 --- a/lib/review/book/bib.rb +++ b/lib/review/book/bib.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2009-2020 Minero Aoki, Kenshi Muto # diff --git a/lib/review/book/book_unit.rb b/lib/review/book/book_unit.rb index ab0b70dc2..9b0a50635 100644 --- a/lib/review/book/book_unit.rb +++ b/lib/review/book/book_unit.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2021 Minero Aoki, Kenshi Muto # 2002-2008 Minero Aoki # diff --git a/lib/review/book/cache.rb b/lib/review/book/cache.rb index 27f5f8d78..30eb20ed5 100644 --- a/lib/review/book/cache.rb +++ b/lib/review/book/cache.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2014-2024 Minero Aoki, Kenshi Muto, Masayoshi Takahashi # diff --git a/lib/review/book/chapter.rb b/lib/review/book/chapter.rb index c9fc475fd..f6777cc0f 100644 --- a/lib/review/book/chapter.rb +++ b/lib/review/book/chapter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2009-2019 Minero Aoki, Kenshi Muto # 2002-2008 Minero Aoki diff --git a/lib/review/book/image_finder.rb b/lib/review/book/image_finder.rb index cd6d89820..86befc9db 100644 --- a/lib/review/book/image_finder.rb +++ b/lib/review/book/image_finder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2014-2023 Minero Aoki, Kenshi Muto, Masayoshi Takahashi # diff --git a/lib/review/book/index.rb b/lib/review/book/index.rb index e6e3c4bab..bf2cae90c 100644 --- a/lib/review/book/index.rb +++ b/lib/review/book/index.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2021 Minero Aoki, Kenshi Muto # 2002-2007 Minero Aoki # diff --git a/lib/review/book/index/item.rb b/lib/review/book/index/item.rb index 87e182613..595a364af 100644 --- a/lib/review/book/index/item.rb +++ b/lib/review/book/index/item.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2019 Minero Aoki, Kenshi Muto # # This program is free software. diff --git a/lib/review/book/page_metric.rb b/lib/review/book/page_metric.rb index 203563717..af4826a03 100644 --- a/lib/review/book/page_metric.rb +++ b/lib/review/book/page_metric.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2020 Minero Aoki, Kenshi Muto # 2002-2008 Minero Aoki # diff --git a/lib/review/book/part.rb b/lib/review/book/part.rb index 5e3e2499c..ec1164b03 100644 --- a/lib/review/book/part.rb +++ b/lib/review/book/part.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2020 Minero Aoki, Kenshi Muto, Masayoshi Takahashi # 2002-2008 Minero Aoki # diff --git a/lib/review/book/volume.rb b/lib/review/book/volume.rb index 980cb2931..adc91dd21 100644 --- a/lib/review/book/volume.rb +++ b/lib/review/book/volume.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2007-2020 Minero Aoki, Kenshi Muto # 2002-2007 Minero Aoki # diff --git a/lib/review/builder.rb b/lib/review/builder.rb index f78a0b63e..385fd3f2e 100644 --- a/lib/review/builder.rb +++ b/lib/review/builder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2002-2024 Minero Aoki, Kenshi Muto # # This program is free software. diff --git a/lib/review/call_hook.rb b/lib/review/call_hook.rb index 83a48ff51..2a81a34fb 100644 --- a/lib/review/call_hook.rb +++ b/lib/review/call_hook.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ReVIEW module CallHook def call_hook(hook_name, *params, base_dir: nil) diff --git a/lib/review/catalog.rb b/lib/review/catalog.rb index 87cbd51c0..53f0ba49f 100644 --- a/lib/review/catalog.rb +++ b/lib/review/catalog.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'yaml' require 'date' diff --git a/lib/review/compiler.rb b/lib/review/compiler.rb index ea1c5764c..543a2f5fa 100644 --- a/lib/review/compiler.rb +++ b/lib/review/compiler.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2024 Minero Aoki, Kenshi Muto # Copyright (c) 2002-2007 Minero Aoki # @@ -672,7 +674,7 @@ def text(str, block_mode = false) error "`@' seen but is not valid inline op: #{w}", location: location end end - result = '' + result = +'' until words.empty? result << if in_non_escaped_command? && block_mode revert_replace_fence(words.shift) diff --git a/lib/review/configure.rb b/lib/review/configure.rb index c80952f7c..a327658b7 100644 --- a/lib/review/configure.rb +++ b/lib/review/configure.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2012-2022 Masanori Kado, Masayoshi Takahashi, Kenshi Muto # diff --git a/lib/review/converter.rb b/lib/review/converter.rb index 38c0bb0fa..65a7a48e5 100644 --- a/lib/review/converter.rb +++ b/lib/review/converter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This program is free software. # You can distribute or modify this program under the terms of # the GNU LGPL, Lesser General Public License version 2.1. diff --git a/lib/review/epub2html.rb b/lib/review/epub2html.rb index 74e0896c9..c5ef5f96d 100644 --- a/lib/review/epub2html.rb +++ b/lib/review/epub2html.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2018-2019 Kenshi Muto # diff --git a/lib/review/epubbuilder.rb b/lib/review/epubbuilder.rb index 5021b0727..06bf2780f 100644 --- a/lib/review/epubbuilder.rb +++ b/lib/review/epubbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # epubbuilder.rb # just for compatibility # diff --git a/lib/review/epubmaker.rb b/lib/review/epubmaker.rb index 84491957d..dff22c37e 100644 --- a/lib/review/epubmaker.rb +++ b/lib/review/epubmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2024 Kenshi Muto and Masayoshi Takahashi # # This program is free software. diff --git a/lib/review/epubmaker/content.rb b/lib/review/epubmaker/content.rb index af1c1269d..497822c3a 100644 --- a/lib/review/epubmaker/content.rb +++ b/lib/review/epubmaker/content.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # = content.rb -- Content object for EPUBMaker. # # Copyright (c) 2010-2020 Kenshi Muto diff --git a/lib/review/epubmaker/epubcommon.rb b/lib/review/epubmaker/epubcommon.rb index b2e6cdf6d..491091f4c 100644 --- a/lib/review/epubmaker/epubcommon.rb +++ b/lib/review/epubmaker/epubcommon.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # = epubcommon.rb -- super class for EPUBv2 and EPUBv3 # # Copyright (c) 2010-2024 Kenshi Muto and Masayoshi Takahashi diff --git a/lib/review/epubmaker/epubv2.rb b/lib/review/epubmaker/epubv2.rb index d262a19bf..ad520f87d 100644 --- a/lib/review/epubmaker/epubv2.rb +++ b/lib/review/epubmaker/epubv2.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # = epubv2.rb -- EPUB version 2 producer. # # Copyright (c) 2010-2022 Kenshi Muto and Masayoshi Takahashi diff --git a/lib/review/epubmaker/epubv3.rb b/lib/review/epubmaker/epubv3.rb index fec29d6a2..80b3002d8 100644 --- a/lib/review/epubmaker/epubv3.rb +++ b/lib/review/epubmaker/epubv3.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # = epubv3.rb -- EPUB version 3 producer. # # Copyright (c) 2010-2023 Kenshi Muto @@ -41,7 +43,7 @@ def opf if @opf_prefix && @opf_prefix.size > 0 prefixes_str = @opf_prefix.map { |k, v| %Q(#{k}: #{v}) }.join(' ') - @package_attrs << %Q( prefix="#{prefixes_str}") + @package_attrs = %Q( prefix="#{prefixes_str}") end ReVIEW::Template.generate(path: './opf/epubv3.opf.erb', binding: binding) diff --git a/lib/review/epubmaker/producer.rb b/lib/review/epubmaker/producer.rb index 7baf1ed04..2577b47ef 100644 --- a/lib/review/epubmaker/producer.rb +++ b/lib/review/epubmaker/producer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # = producer.rb -- EPUB producer. # # Copyright (c) 2010-2023 Kenshi Muto diff --git a/lib/review/epubmaker/reviewheaderlistener.rb b/lib/review/epubmaker/reviewheaderlistener.rb index ec30c5810..f29098b63 100644 --- a/lib/review/epubmaker/reviewheaderlistener.rb +++ b/lib/review/epubmaker/reviewheaderlistener.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2018 Kenshi Muto and Masayoshi Takahashi # # This program is free software. @@ -20,7 +22,7 @@ class ReVIEWHeaderListener include REXML::StreamListener def initialize(headlines) @level = nil - @content = '' + @content = +'' @headlines = headlines end @@ -48,7 +50,7 @@ def tag_end(name) 'title' => @content, 'notoc' => @notoc }) end - @content = '' + @content = +'' @level = nil @id = nil @notoc = nil diff --git a/lib/review/epubmaker/zip_exporter.rb b/lib/review/epubmaker/zip_exporter.rb index 88fab0641..d788de7d0 100644 --- a/lib/review/epubmaker/zip_exporter.rb +++ b/lib/review/epubmaker/zip_exporter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2017 Kenshi Muto and Masayoshi Takahashi # # This program is free software. diff --git a/lib/review/exception.rb b/lib/review/exception.rb index e53f5fd95..999ecda88 100644 --- a/lib/review/exception.rb +++ b/lib/review/exception.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2007-2017 Minero Aoki, Kenshi Muto # 2002-2007 Minero Aoki diff --git a/lib/review/extentions.rb b/lib/review/extentions.rb index d553dd6c8..361b126c1 100644 --- a/lib/review/extentions.rb +++ b/lib/review/extentions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'review/extentions/object' require 'review/extentions/string' require 'review/extentions/hash' diff --git a/lib/review/extentions/hash.rb b/lib/review/extentions/hash.rb index 9c255002a..58bfbabb3 100644 --- a/lib/review/extentions/hash.rb +++ b/lib/review/extentions/hash.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Hash def deep_merge!(other) self.merge!(other) do |_key, v_self, v_other| diff --git a/lib/review/extentions/object.rb b/lib/review/extentions/object.rb index 3d22805b8..4f2e2fcd3 100644 --- a/lib/review/extentions/object.rb +++ b/lib/review/extentions/object.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Object def blank? respond_to?(:empty?) ? empty? : !self diff --git a/lib/review/extentions/string.rb b/lib/review/extentions/string.rb index 9e5f5e968..da26c46f5 100644 --- a/lib/review/extentions/string.rb +++ b/lib/review/extentions/string.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if defined?(Encoding) && Encoding.respond_to?(:default_external) && Encoding.default_external != Encoding::UTF_8 Encoding.default_external = 'UTF-8' diff --git a/lib/review/htmlbuilder.rb b/lib/review/htmlbuilder.rb index f00d5af03..2153776d4 100644 --- a/lib/review/htmlbuilder.rb +++ b/lib/review/htmlbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2023 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, # KADO Masanori # 2002-2007 Minero Aoki diff --git a/lib/review/htmltoc.rb b/lib/review/htmltoc.rb index d1220d1ef..89b849157 100644 --- a/lib/review/htmltoc.rb +++ b/lib/review/htmltoc.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ReVIEW class HTMLToc def initialize(basedir) diff --git a/lib/review/htmlutils.rb b/lib/review/htmlutils.rb index e2810aa8e..4a288d225 100644 --- a/lib/review/htmlutils.rb +++ b/lib/review/htmlutils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto # 2002-2006 Minero Aoki diff --git a/lib/review/i18n.rb b/lib/review/i18n.rb index c186eb050..360de4a74 100644 --- a/lib/review/i18n.rb +++ b/lib/review/i18n.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'yaml' module ReVIEW diff --git a/lib/review/idgxmlbuilder.rb b/lib/review/idgxmlbuilder.rb index aaefb1f35..196e87db2 100644 --- a/lib/review/idgxmlbuilder.rb +++ b/lib/review/idgxmlbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2024 Minero Aoki, Kenshi Muto # 2002-2007 Minero Aoki # diff --git a/lib/review/idgxmlmaker.rb b/lib/review/idgxmlmaker.rb index 3acb3144f..e1597999f 100644 --- a/lib/review/idgxmlmaker.rb +++ b/lib/review/idgxmlmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2019-2023 Kenshi Muto # # This program is free software. @@ -168,7 +170,7 @@ def build_body(basetmpdir, _yamlfile) def build_part(part, basetmpdir, xmlfile) File.open(File.join(basetmpdir, xmlfile), 'w') do |f| - title = ReVIEW::I18n.t('part', part.number) + title = +ReVIEW::I18n.t('part', part.number) if part.name.strip.present? title << ReVIEW::I18n.t('chapter_postfix') title << part.name.strip diff --git a/lib/review/img_graph.rb b/lib/review/img_graph.rb index e1ab140c7..f1e6b109b 100644 --- a/lib/review/img_graph.rb +++ b/lib/review/img_graph.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2023 Kenshi Muto # diff --git a/lib/review/img_math.rb b/lib/review/img_math.rb index 6b24b3b3e..ca496a564 100644 --- a/lib/review/img_math.rb +++ b/lib/review/img_math.rb @@ -1,4 +1,5 @@ -# +# frozen_string_literal: true + # Copyright (c) 2021-2023 Masayoshi Takahashi, Kenshi Muto # # This program is free software. @@ -74,12 +75,15 @@ def make_math_images fontsize = @config['imgmath_options']['fontsize'].to_f lineheight = @config['imgmath_options']['lineheight'].to_f - texsrc = default_imgmath_preamble - if @config['imgmath_options']['preamble_file'] && File.readable?(@config['imgmath_options']['preamble_file']) - texsrc = File.read(@config['imgmath_options']['preamble_file']) - end + texsrc_pre = + if @config['imgmath_options']['preamble_file'] && File.readable?(@config['imgmath_options']['preamble_file']) + File.read(@config['imgmath_options']['preamble_file']) + else + default_imgmath_preamble + end - texsrc << <<-EOB + texsrc = <<-EOB +#{texsrc_pre} \\begin{document} \\fontsize{#{fontsize}}{#{lineheight}}\\selectfont \\input{__IMGMATH_BODY__} diff --git a/lib/review/index_builder.rb b/lib/review/index_builder.rb index bd3bfc448..e9c2abd12 100644 --- a/lib/review/index_builder.rb +++ b/lib/review/index_builder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2022 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, # KADO Masanori # diff --git a/lib/review/init.rb b/lib/review/init.rb index d7a5d7717..f6f916dba 100644 --- a/lib/review/init.rb +++ b/lib/review/init.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2018-2022 Masanori Kado, Masayoshi Takahashi, Kenshi Muto # diff --git a/lib/review/latexbox.rb b/lib/review/latexbox.rb index 435a07a9e..497335188 100644 --- a/lib/review/latexbox.rb +++ b/lib/review/latexbox.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2021 Kenshi Muto # # This program is free software. @@ -13,7 +15,7 @@ def initialize end def tcbox(config) - ret = '' + ret = +'' %w[column note memo tip info warning important caution notice].each do |name| if config['pdfmaker'].nil? || config['pdfmaker']['boxsetting'].nil? || diff --git a/lib/review/latexbuilder.rb b/lib/review/latexbuilder.rb index 491d6a9a0..ce55f9258 100644 --- a/lib/review/latexbuilder.rb +++ b/lib/review/latexbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2002-2007 Minero Aoki # 2008-2009 Minero Aoki, Kenshi Muto # 2010-2022 Minero Aoki, Kenshi Muto, TAKAHASHI Masayoshi @@ -491,7 +493,7 @@ def common_code_block(id, lines, command, caption, _lang) puts captionstr end - body = '' + body = +'' lines.each_with_index do |line, idx| body.concat(yield(line, idx)) end @@ -536,10 +538,10 @@ def make_code_block_args(title, caption, lang, first_line_num: 1) if title == 'title' && caption_str == '' # ignore else - args = "#{title}={#{caption_str}}," + args + args = "#{title}={#{caption_str}},#{args}" end if first_line_num != 1 - args << ",firstnumber=#{first_line_num}" + args = "#{args},firstnumber=#{first_line_num}" end args end @@ -579,11 +581,10 @@ def result_metric(array) def image_image(id, caption = '', metric = nil) @doc_status[:caption] = true captionstr = if @book.config.check_version('2', exception: false) - macro('caption', compile_inline(caption)) + "\n" + macro('caption', compile_inline(caption)) + "\n" + macro('label', image_label(id)) else - macro('reviewimagecaption', compile_inline(caption)) + "\n" + macro('reviewimagecaption', compile_inline(caption)) + "\n" + macro('label', image_label(id)) end - captionstr << macro('label', image_label(id)) @doc_status[:caption] = nil metrics = parse_metric('latex', metric) @@ -820,7 +821,7 @@ def table_begin(ncols) def separate_tsize(size) ret = [] - s = '' + s = +'' brace = nil size.chars.each do |ch| case ch @@ -833,7 +834,7 @@ def separate_tsize(size) brace = nil s << ch ret << s - s = '' + s = +'' else if brace || s.empty? s << ch @@ -1164,7 +1165,7 @@ def printendnotes blank end - BOUTEN = '・'.freeze + BOUTEN = '・' def inline_bou(str) macro('reviewbou', escape(str)) diff --git a/lib/review/latexindex.rb b/lib/review/latexindex.rb index 8c2f269b7..477a6cd8f 100644 --- a/lib/review/latexindex.rb +++ b/lib/review/latexindex.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2017 Minero Aoki, Kenshi Muto # 2002-2006 Minero Aoki # diff --git a/lib/review/latexutils.rb b/lib/review/latexutils.rb index 04bf44cbc..4f276cee0 100644 --- a/lib/review/latexutils.rb +++ b/lib/review/latexutils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2002-2006 Minero Aoki # Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto and Masayoshi Takahashi # diff --git a/lib/review/lineinput.rb b/lib/review/lineinput.rb index ff4d8ea15..e429dee6d 100644 --- a/lib/review/lineinput.rb +++ b/lib/review/lineinput.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2002-2023 Minero Aoki, Masayoshi Takahashi, Kenshi Muto # diff --git a/lib/review/location.rb b/lib/review/location.rb index b95c14fc9..43f87c98b 100644 --- a/lib/review/location.rb +++ b/lib/review/location.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2009-2019 Minero Aoki, Kenshi Muto, Masayoshi Takahashi # Copyright (c) 2002-2007 Minero Aoki # diff --git a/lib/review/loggable.rb b/lib/review/loggable.rb index df2abdcba..d6578287c 100644 --- a/lib/review/loggable.rb +++ b/lib/review/loggable.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ReVIEW module Loggable attr_reader :logger diff --git a/lib/review/logger.rb b/lib/review/logger.rb index 3ef10daf2..783cced91 100644 --- a/lib/review/logger.rb +++ b/lib/review/logger.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'logger' module ReVIEW diff --git a/lib/review/makerhelper.rb b/lib/review/makerhelper.rb index 436148632..87619f703 100644 --- a/lib/review/makerhelper.rb +++ b/lib/review/makerhelper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2012-2023 Yuto HAYAMIZU, Kenshi Muto # # This program is free software. diff --git a/lib/review/markdownbuilder.rb b/lib/review/markdownbuilder.rb index 7cc122678..5df9567da 100644 --- a/lib/review/markdownbuilder.rb +++ b/lib/review/markdownbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2013-2021 KADO Masanori, Masayoshi Takahashi, Kenshi Muto # # This program is free software. diff --git a/lib/review/md2inaobuilder.rb b/lib/review/md2inaobuilder.rb index 8439ea3f1..674f0f5b2 100644 --- a/lib/review/md2inaobuilder.rb +++ b/lib/review/md2inaobuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This program is free software. # You can distribute or modify this program under the terms of # the GNU LGPL, Lesser General Public License version 2.1. diff --git a/lib/review/pdfmaker.rb b/lib/review/pdfmaker.rb index 0c480fa51..bcb7f6b78 100644 --- a/lib/review/pdfmaker.rb +++ b/lib/review/pdfmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2024 Kenshi Muto and Masayoshi Takahashi # # This program is free software. @@ -156,7 +158,7 @@ def execute(*args) end def make_input_files(book) - input_files = Hash.new { |h, key| h[key] = '' } + input_files = Hash.new { |h, key| h[key] = +'' } book.parts.each do |part| if part.name.present? @config['use_part'] = true @@ -484,7 +486,7 @@ def erb_config end def latex_config - result = ReVIEW::Template.generate(path: './latex/config.erb', mode: '-', binding: binding) + result = +ReVIEW::Template.generate(path: './latex/config.erb', mode: '-', binding: binding) local_config_file = File.join(@basedir, 'layouts', 'config-local.tex.erb') if File.exist?(local_config_file) result << "%% BEGIN: config-local.tex.erb\n" diff --git a/lib/review/plaintextbuilder.rb b/lib/review/plaintextbuilder.rb index 78eebdf95..ee6b9560d 100644 --- a/lib/review/plaintextbuilder.rb +++ b/lib/review/plaintextbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2018-2023 Kenshi Muto # # This program is free software. diff --git a/lib/review/preprocessor.rb b/lib/review/preprocessor.rb index 955a21897..aa71cfd44 100644 --- a/lib/review/preprocessor.rb +++ b/lib/review/preprocessor.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2019 Minero Aoki, Kenshi Muto # 2002-2009 Minero Aoki # diff --git a/lib/review/preprocessor/directive.rb b/lib/review/preprocessor/directive.rb index f2a04f4c0..ce025fc73 100644 --- a/lib/review/preprocessor/directive.rb +++ b/lib/review/preprocessor/directive.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2021 Minero Aoki, Kenshi Muto # # This program is free software. diff --git a/lib/review/preprocessor/line.rb b/lib/review/preprocessor/line.rb index 17947b644..7cb8977e0 100644 --- a/lib/review/preprocessor/line.rb +++ b/lib/review/preprocessor/line.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2021 Minero Aoki, Kenshi Muto # # This program is free software. diff --git a/lib/review/preprocessor/repository.rb b/lib/review/preprocessor/repository.rb index 5afed36a8..221c968b3 100644 --- a/lib/review/preprocessor/repository.rb +++ b/lib/review/preprocessor/repository.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2010-2021 Minero Aoki, Kenshi Muto # # This program is free software. diff --git a/lib/review/rstbuilder.rb b/lib/review/rstbuilder.rb index 338624059..9a4d933a8 100644 --- a/lib/review/rstbuilder.rb +++ b/lib/review/rstbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2020 Minero Aoki, Kenshi Muto # 2002-2006 Minero Aoki # diff --git a/lib/review/sec_counter.rb b/lib/review/sec_counter.rb index 084a7b992..3c2931973 100644 --- a/lib/review/sec_counter.rb +++ b/lib/review/sec_counter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2017 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, # KADO Masanori # @@ -32,7 +34,7 @@ def inc(level) def anchor(level) str = @chapter.format_number(false) 0.upto(level - 2) do |i| - str << "-#{@counter[i]}" + str = "#{str}-#{@counter[i]}" end str end @@ -63,14 +65,15 @@ def prefix(level, secnolevel) "#{@chapter.format_number}#{I18n.t('chapter_postfix')}" end elsif secnolevel >= level - prefix = if @chapter.is_a?(ReVIEW::Book::Part) - I18n.t('part_short', @chapter.number) - else - @chapter.format_number(false) - end + prefix = [] + prefix << if @chapter.is_a?(ReVIEW::Book::Part) + I18n.t('part_short', @chapter.number) + else + @chapter.format_number(false) + end 0.upto(level - 2) { |i| prefix << ".#{@counter[i]}" } prefix << I18n.t('chapter_postfix') - prefix + prefix.join end end end diff --git a/lib/review/template.rb b/lib/review/template.rb index dc13f61d8..053cc034a 100644 --- a/lib/review/template.rb +++ b/lib/review/template.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'erb' require 'review/extentions' module ReVIEW diff --git a/lib/review/textbuilder.rb b/lib/review/textbuilder.rb index 16f39f31c..08cf0d783 100644 --- a/lib/review/textbuilder.rb +++ b/lib/review/textbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # textbuilder.rb # # Copyright (c) 2010-2017 Kenshi Muto diff --git a/lib/review/textmaker.rb b/lib/review/textmaker.rb index 5ecce2de8..7c02a25ce 100644 --- a/lib/review/textmaker.rb +++ b/lib/review/textmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2018-2023 Kenshi Muto # # This program is free software. diff --git a/lib/review/textutils.rb b/lib/review/textutils.rb index 796327f4b..34904dfe9 100644 --- a/lib/review/textutils.rb +++ b/lib/review/textutils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2023 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, # KADO Masanori # 2002-2007 Minero Aoki diff --git a/lib/review/tocprinter.rb b/lib/review/tocprinter.rb index e7b86a0ac..770a6b774 100644 --- a/lib/review/tocprinter.rb +++ b/lib/review/tocprinter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2021 Minero Aoki, Kenshi Muto # 1999-2007 Minero Aoki # diff --git a/lib/review/topbuilder.rb b/lib/review/topbuilder.rb index f7085ff4a..c12408c93 100644 --- a/lib/review/topbuilder.rb +++ b/lib/review/topbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2008-2022 Minero Aoki, Kenshi Muto # 2002-2006 Minero Aoki # diff --git a/lib/review/update.rb b/lib/review/update.rb index b09354b1c..781ea534d 100644 --- a/lib/review/update.rb +++ b/lib/review/update.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2018-2023 Kenshi Muto # diff --git a/lib/review/version.rb b/lib/review/version.rb index e44421a63..e0a33d6ef 100644 --- a/lib/review/version.rb +++ b/lib/review/version.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ReVIEW - VERSION = '5.10.0'.freeze + VERSION = '5.10.0' end diff --git a/lib/review/volumeprinter.rb b/lib/review/volumeprinter.rb index 80de3d553..f9f1cda96 100644 --- a/lib/review/volumeprinter.rb +++ b/lib/review/volumeprinter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # # Copyright (c) 2014-2021 Minero Aoki, Kenshi Muto # 2003-2014 Minero Aoki diff --git a/lib/review/webmaker.rb b/lib/review/webmaker.rb index e795643bb..8241d847a 100644 --- a/lib/review/webmaker.rb +++ b/lib/review/webmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (c) 2016-2022 Masayoshi Takahashi, Masanori Kado, Kenshi Muto # # This program is free software. diff --git a/lib/review/webtocprinter.rb b/lib/review/webtocprinter.rb index a3ba25651..c9450b4f9 100644 --- a/lib/review/webtocprinter.rb +++ b/lib/review/webtocprinter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'review/tocprinter' require 'review/i18n' require 'review/htmlutils' @@ -18,7 +20,7 @@ def print_book(book) end def print_result(result_array) - content = <
  • TOP
  • EOT diff --git a/lib/review/yamlloader.rb b/lib/review/yamlloader.rb index 11cc1799d..4c3318a18 100644 --- a/lib/review/yamlloader.rb +++ b/lib/review/yamlloader.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'yaml' require 'date' diff --git a/review.gemspec b/review.gemspec index 91c9c3a7f..5a26905d2 100644 --- a/review.gemspec +++ b/review.gemspec @@ -1,3 +1,5 @@ +# frozen_string_literal: true + $LOAD_PATH.push(File.expand_path('lib', __dir__)) require 'review/version' @@ -19,6 +21,7 @@ Gem::Specification.new do |gem| gem.extra_rdoc_files = [] gem.require_paths = ['lib'] + gem.add_dependency('base64') gem.add_dependency('csv') gem.add_dependency('image_size') gem.add_dependency('nkf') diff --git a/test/book_test_helper.rb b/test/book_test_helper.rb index caefb2703..1c7a34982 100644 --- a/test/book_test_helper.rb +++ b/test/book_test_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/book' diff --git a/test/run_test.rb b/test/run_test.rb index 66d63985e..7fae264a9 100644 --- a/test/run_test.rb +++ b/test/run_test.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + base_dir = File.expand_path('..', __dir__) lib_dir = File.join(base_dir, 'lib') test_dir = File.join(base_dir, 'test') diff --git a/test/test_book.rb b/test/test_book.rb index 176e359d5..c9f6f0c48 100644 --- a/test/test_book.rb +++ b/test/test_book.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'book_test_helper' require 'fileutils' diff --git a/test/test_book_chapter.rb b/test/test_book_chapter.rb index ffc0b4e7a..9fb83e6a6 100644 --- a/test/test_book_chapter.rb +++ b/test/test_book_chapter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'book_test_helper' class ChapterTest < Test::Unit::TestCase diff --git a/test/test_book_part.rb b/test/test_book_part.rb index 08fc5d084..ee25e73d3 100644 --- a/test/test_book_part.rb +++ b/test/test_book_part.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'book_test_helper' class PartTest < Test::Unit::TestCase include BookTestHelper diff --git a/test/test_builder.rb b/test/test_builder.rb index b67a0b8ec..bc76a19e1 100644 --- a/test/test_builder.rb +++ b/test/test_builder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/builder' diff --git a/test/test_catalog.rb b/test/test_catalog.rb index 32440cf3c..d39a4052e 100644 --- a/test/test_catalog.rb +++ b/test/test_catalog.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review/catalog' diff --git a/test/test_catalog_converter_cmd.rb b/test/test_catalog_converter_cmd.rb index c5944e1df..187c76ab7 100644 --- a/test/test_catalog_converter_cmd.rb +++ b/test/test_catalog_converter_cmd.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'tmpdir' require 'fileutils' diff --git a/test/test_compiler.rb b/test/test_compiler.rb index 80cea4f1b..217853a94 100644 --- a/test/test_compiler.rb +++ b/test/test_compiler.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' diff --git a/test/test_configure.rb b/test/test_configure.rb index 3f1eda512..d85daabbc 100644 --- a/test/test_configure.rb +++ b/test/test_configure.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/epubmaker' diff --git a/test/test_converter.rb b/test/test_converter.rb index 942a84d90..1e3308469 100644 --- a/test/test_converter.rb +++ b/test/test_converter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review/converter' diff --git a/test/test_epub3maker.rb b/test/test_epub3maker.rb index 6b7283718..59c399c93 100644 --- a/test/test_epub3maker.rb +++ b/test/test_epub3maker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/configure' require 'review/epubmaker' diff --git a/test/test_epubmaker.rb b/test/test_epubmaker.rb index ef3ad77a5..d10b5c6f0 100644 --- a/test/test_epubmaker.rb +++ b/test/test_epubmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/epubmaker' @@ -915,7 +917,8 @@ def test_copy_static_file assert_nothing_raised { epubmaker.copy_frontmatter(tmpdir) } epubmaker.config['titlefile'] = 'nothing.html' - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raise(SystemExit) { epubmaker.copy_frontmatter(tmpdir) } assert_equal "ERROR --: titlefile: nothing.html is not found.\n", @log_io.string end @@ -930,7 +933,8 @@ def test_copy_static_file assert_nothing_raised { epubmaker.copy_frontmatter(tmpdir) } epubmaker.config[name] = 'nothing.html' - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raise(SystemExit) { epubmaker.copy_frontmatter(tmpdir) } assert_equal "ERROR --: #{name}: nothing.html is not found.\n", @log_io.string end @@ -945,7 +949,8 @@ def test_copy_static_file assert_nothing_raised { epubmaker.copy_backmatter(tmpdir) } epubmaker.config[name] = 'nothing.html' - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raise(SystemExit) { epubmaker.copy_backmatter(tmpdir) } assert_equal "ERROR --: #{name}: nothing.html is not found.\n", @log_io.string end diff --git a/test/test_epubmaker_cmd.rb b/test/test_epubmaker_cmd.rb index 77c775646..9f2234f49 100644 --- a/test/test_epubmaker_cmd.rb +++ b/test/test_epubmaker_cmd.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'tmpdir' require 'fileutils' diff --git a/test/test_extentions_hash.rb b/test/test_extentions_hash.rb index a416e1943..aa461e278 100644 --- a/test/test_extentions_hash.rb +++ b/test/test_extentions_hash.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/extentions/hash' diff --git a/test/test_helper.rb b/test/test_helper.rb index da68b8be8..8497996b5 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + $LOAD_PATH.unshift(File.realpath('../lib', __dir__)) require 'test/unit' diff --git a/test/test_htmlbuilder.rb b/test/test_htmlbuilder.rb index 307e32c5f..12ba414b0 100644 --- a/test/test_htmlbuilder.rb +++ b/test/test_htmlbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review' diff --git a/test/test_htmltoc.rb b/test/test_htmltoc.rb index 188769b79..754a8ef5b 100644 --- a/test/test_htmltoc.rb +++ b/test/test_htmltoc.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/htmltoc' diff --git a/test/test_htmlutils.rb b/test/test_htmlutils.rb index 4215c1d35..44a9f314b 100644 --- a/test/test_htmlutils.rb +++ b/test/test_htmlutils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/htmlutils' diff --git a/test/test_i18n.rb b/test/test_i18n.rb index 90c35d080..af399d62f 100644 --- a/test/test_i18n.rb +++ b/test/test_i18n.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review' require 'tmpdir' diff --git a/test/test_idgxmlbuilder.rb b/test/test_idgxmlbuilder.rb index c2f2c0a92..a8412ce75 100644 --- a/test/test_idgxmlbuilder.rb +++ b/test/test_idgxmlbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review/compiler' @@ -1147,20 +1149,24 @@ def test_inline_unknown assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown image: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown footnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown headline: n/, @log_io.string) %w[list table column].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/unknown #{name}: n/, @log_io.string) end %w[chap chapref title].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/key not found: "n"/, @log_io.string) end diff --git a/test/test_idgxmlmaker_cmd.rb b/test/test_idgxmlmaker_cmd.rb index edaae9cba..a2fcf6b1f 100644 --- a/test/test_idgxmlmaker_cmd.rb +++ b/test/test_idgxmlmaker_cmd.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'tmpdir' require 'fileutils' @@ -30,7 +32,7 @@ def common_buildidgxml(bookdir, configfile, targetfile, option) Dir.chdir(@tmpdir1) do _o, e, s = Open3.capture3("#{ruby_cmd} -S #{REVIEW_IDGXMLMAKER} #{option} #{configfile}") if defined?(ReVIEW::TTYLogger) - assert_match(/SUCCESS/, e) + assert_match(/SUCCESS|INFO/, e) # XXX TTY::Logger should be fixed else assert_equal '', e end diff --git a/test/test_image_finder.rb b/test/test_image_finder.rb index b34af5640..e91064792 100644 --- a/test/test_image_finder.rb +++ b/test/test_image_finder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review' require 'review/book/image_finder' diff --git a/test/test_img_graph.rb b/test/test_img_graph.rb index ec25d3150..89c760493 100644 --- a/test/test_img_graph.rb +++ b/test/test_img_graph.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/htmlbuilder' require 'review/img_graph' diff --git a/test/test_img_math.rb b/test/test_img_math.rb index 4b2c19461..9f41e9882 100644 --- a/test/test_img_math.rb +++ b/test/test_img_math.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/htmlbuilder' require 'review/img_math' diff --git a/test/test_index.rb b/test/test_index.rb index 86c91f3ca..47a9ef706 100644 --- a/test/test_index.rb +++ b/test/test_index.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' diff --git a/test/test_indexbuilder.rb b/test/test_indexbuilder.rb index 8b83ee6fd..f8d11be20 100644 --- a/test/test_indexbuilder.rb +++ b/test/test_indexbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/builder' diff --git a/test/test_latexbuilder.rb b/test/test_latexbuilder.rb index 1d6893626..2d80d81e1 100644 --- a/test/test_latexbuilder.rb +++ b/test/test_latexbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' @@ -2491,20 +2493,24 @@ def test_inline_unknown assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown image: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown footnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown headline: n/, @log_io.string) %w[list table column].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/unknown #{name}: n/, @log_io.string) end %w[chap chapref title].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/key not found: "n"/, @log_io.string) end diff --git a/test/test_latexbuilder_v2.rb b/test/test_latexbuilder_v2.rb index d63022e8e..409e0c9e2 100644 --- a/test/test_latexbuilder_v2.rb +++ b/test/test_latexbuilder_v2.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' @@ -1553,20 +1555,24 @@ def test_inline_unknown assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown image: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown footnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown headline: n/, @log_io.string) %w[list table column].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/unknown #{name}: n/, @log_io.string) end %w[chap chapref title].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/key not found: "n"/, @log_io.string) end diff --git a/test/test_lineinput.rb b/test/test_lineinput.rb index 32fb86a33..a754e9309 100644 --- a/test/test_lineinput.rb +++ b/test/test_lineinput.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/lineinput' require 'tempfile' @@ -6,7 +8,7 @@ class LineInputTest < Test::Unit::TestCase def test_initialize io = StringIO.new - li = LineInput.new(io) + li = ReVIEW::LineInput.new(io) assert_equal 0, li.lineno assert !li.eof? assert_equal "#", li.inspect @@ -23,7 +25,7 @@ def test_gets end def do_test_gets(io) - li = LineInput.new(io) + li = ReVIEW::LineInput.new(io) assert_equal "abc\n", li.gets assert_equal "def\r\n", li.gets @@ -41,34 +43,34 @@ def do_test_gets(io) end def test_peek - li = LineInput.new(StringIO.new) + li = ReVIEW::LineInput.new(StringIO.new) assert_equal nil, li.peek - li = LineInput.new(StringIO.new('abc')) + li = ReVIEW::LineInput.new(StringIO.new('abc')) assert_equal 'abc', li.peek end def test_next? - li = LineInput.new(StringIO.new) + li = ReVIEW::LineInput.new(StringIO.new) assert !li.next? - li = LineInput.new(StringIO.new('abc')) + li = ReVIEW::LineInput.new(StringIO.new('abc')) assert li.next? end def test_each content = "abc\ndef\nghi" io = StringIO.new(content) - li = LineInput.new(io) + li = ReVIEW::LineInput.new(io) - data = '' - li.each { |l| data << l } - assert_equal content, data + data = [] + li.each { |l| data << l } # rubocop:disable Style/MapIntoArray + assert_equal content, data.join end def test_while_match io = StringIO.new("abc\ndef\nghi") - li = LineInput.new(io) + li = ReVIEW::LineInput.new(io) li.while_match(/^[ad]/) do # skip @@ -79,7 +81,7 @@ def test_while_match def test_until_match io = StringIO.new("abc\ndef\nghi") - li = LineInput.new(io) + li = ReVIEW::LineInput.new(io) li.until_match(/^[^a]/) do # skip diff --git a/test/test_location.rb b/test/test_location.rb index 3de4bb06e..10bb3d237 100644 --- a/test/test_location.rb +++ b/test/test_location.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' diff --git a/test/test_logger.rb b/test/test_logger.rb index d041dbe7d..20e3cdb34 100644 --- a/test/test_logger.rb +++ b/test/test_logger.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/logger' diff --git a/test/test_makerhelper.rb b/test/test_makerhelper.rb index 1220e49fe..cbaa5553c 100644 --- a/test/test_makerhelper.rb +++ b/test/test_makerhelper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/makerhelper' require 'tmpdir' diff --git a/test/test_markdownbuilder.rb b/test/test_markdownbuilder.rb index 224007ba9..4d4be306d 100644 --- a/test/test_markdownbuilder.rb +++ b/test/test_markdownbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' diff --git a/test/test_md2inaobuilder.rb b/test/test_md2inaobuilder.rb index db9951b4f..d8489878c 100644 --- a/test/test_md2inaobuilder.rb +++ b/test/test_md2inaobuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' diff --git a/test/test_pdfmaker.rb b/test/test_pdfmaker.rb index 64c80746f..ae8e2d0c2 100644 --- a/test/test_pdfmaker.rb +++ b/test/test_pdfmaker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/pdfmaker' @@ -181,7 +183,7 @@ def error!(msg) end error_msg = @maker.template_content assert_match(/template or configuration error:/, error_msg) - assert_match(/undefined local variable or method `not_existed_method'/, error_msg) + assert_match(/undefined local variable or method ('|`)not_existed_method'/, error_msg) end end end diff --git a/test/test_pdfmaker_cmd.rb b/test/test_pdfmaker_cmd.rb index 81ee6cd1d..385512bd2 100644 --- a/test/test_pdfmaker_cmd.rb +++ b/test/test_pdfmaker_cmd.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'tmpdir' require 'fileutils' diff --git a/test/test_plaintextbuilder.rb b/test/test_plaintextbuilder.rb index 61a7db450..14d6ca2ac 100644 --- a/test/test_plaintextbuilder.rb +++ b/test/test_plaintextbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' @@ -806,24 +808,29 @@ def test_inline_unknown assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown image: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown footnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown endnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown headline: n/, @log_io.string) %w[list table column].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/unknown #{name}: n/, @log_io.string) end %w[chap chapref title].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/key not found: "n"/, @log_io.string) end diff --git a/test/test_preprocessor.rb b/test/test_preprocessor.rb index 0d59c60b4..df35e7400 100644 --- a/test/test_preprocessor.rb +++ b/test/test_preprocessor.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/preprocessor' require 'stringio' diff --git a/test/test_review_ext.rb b/test/test_review_ext.rb index 31d540cd1..76ca59660 100644 --- a/test/test_review_ext.rb +++ b/test/test_review_ext.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review/compiler' diff --git a/test/test_reviewheaderlistener.rb b/test/test_reviewheaderlistener.rb index b5a892418..4a7e90b3e 100644 --- a/test/test_reviewheaderlistener.rb +++ b/test/test_reviewheaderlistener.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'rexml/document' require 'rexml/streamlistener' diff --git a/test/test_rstbuilder.rb b/test/test_rstbuilder.rb index f1850ea58..b8168ce1e 100644 --- a/test/test_rstbuilder.rb +++ b/test/test_rstbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' diff --git a/test/test_sec_counter.rb b/test/test_sec_counter.rb index 83613f58b..099283af9 100644 --- a/test/test_sec_counter.rb +++ b/test/test_sec_counter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'book_test_helper' require 'review/sec_counter' diff --git a/test/test_template.rb b/test/test_template.rb index 8688cad4a..9e11e719d 100644 --- a/test/test_template.rb +++ b/test/test_template.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/template' diff --git a/test/test_textmaker_cmd.rb b/test/test_textmaker_cmd.rb index 7046c3a87..f02520fd6 100644 --- a/test/test_textmaker_cmd.rb +++ b/test/test_textmaker_cmd.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'tmpdir' require 'fileutils' @@ -30,7 +32,7 @@ def common_buildtext(bookdir, configfile, targetfile, option) Dir.chdir(@tmpdir1) do _o, e, s = Open3.capture3("#{ruby_cmd} -S #{REVIEW_TEXTMAKER} #{option} #{configfile}") if defined?(ReVIEW::TTYLogger) - assert_match(/SUCCESS/, e) + assert_match(/SUCCESS|INFO/, e) # XXX TTY::Logger should be fixed else assert_equal '', e end diff --git a/test/test_textutils.rb b/test/test_textutils.rb index 94e10dc92..112e14bce 100644 --- a/test/test_textutils.rb +++ b/test/test_textutils.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/textutils' diff --git a/test/test_tocprinter.rb b/test/test_tocprinter.rb index 860918bc9..fb49f9492 100644 --- a/test/test_tocprinter.rb +++ b/test/test_tocprinter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/tocprinter' require 'unicode/eaw' diff --git a/test/test_topbuilder.rb b/test/test_topbuilder.rb index 11837a7b7..0ced25d0e 100644 --- a/test/test_topbuilder.rb +++ b/test/test_topbuilder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/compiler' require 'review/book' @@ -1160,24 +1162,29 @@ def test_inline_unknown assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown image: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown footnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown endnote: n/, @log_io.string) - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@{n}\n") } assert_match(/unknown headline: n/, @log_io.string) %w[list table column].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/unknown #{name}: n/, @log_io.string) end %w[chap chapref title].each do |name| - @log_io.string = '' + @log_io.rewind + @log_io.truncate(0) assert_raises(ReVIEW::ApplicationError) { compile_block("@<#{name}>{n}\n") } assert_match(/key not found: "n"/, @log_io.string) end diff --git a/test/test_update.rb b/test/test_update.rb index 3e4619132..2f91b74cd 100644 --- a/test/test_update.rb +++ b/test/test_update.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/update' require 'tmpdir' diff --git a/test/test_webtocprinter.rb b/test/test_webtocprinter.rb index a94e998f4..35bc9d03e 100644 --- a/test/test_webtocprinter.rb +++ b/test/test_webtocprinter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/webtocprinter' require 'book_test_helper' diff --git a/test/test_yamlloader.rb b/test/test_yamlloader.rb index 988b76901..e75fde21f 100644 --- a/test/test_yamlloader.rb +++ b/test/test_yamlloader.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/yamlloader' require 'review/extentions' diff --git a/test/test_zip_exporter.rb b/test/test_zip_exporter.rb index e20f9832d..7e7b79a4e 100644 --- a/test/test_zip_exporter.rb +++ b/test/test_zip_exporter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'test_helper' require 'review/epubmaker' require 'review/epubmaker/zip_exporter'