ruby-changes:67582
From: Nobuyoshi <ko1@a...>
Date: Fri, 3 Sep 2021 19:13:24 +0900 (JST)
Subject: [ruby-changes:67582] 76c7388c1f (master): [ruby/rdoc] Add tests for `--template-stylesheets` option
https://git.ruby-lang.org/ruby.git/commit/?id=76c7388c1f From 76c7388c1f41fb0ae3dacda0d9c02e7562a6655d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Wed, 18 Aug 2021 13:48:12 +0900 Subject: [ruby/rdoc] Add tests for `--template-stylesheets` option Also flattens `@options.template_stylesheets` when parsing the command lines. Fixes #205 Fixes #828 too https://github.com/ruby/rdoc/commit/857002a763 --- lib/rdoc/generator/darkfish.rb | 4 ++-- lib/rdoc/generator/template/darkfish/_head.rhtml | 4 +--- lib/rdoc/options.rb | 2 +- test/rdoc/test_rdoc_generator_darkfish.rb | 14 ++++++++++++++ test/rdoc/test_rdoc_options.rb | 15 +++++++++++++++ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/lib/rdoc/generator/darkfish.rb b/lib/rdoc/generator/darkfish.rb index b46861d..60e0265 100644 --- a/lib/rdoc/generator/darkfish.rb +++ b/lib/rdoc/generator/darkfish.rb @@ -220,8 +220,8 @@ class RDoc::Generator::Darkfish https://github.com/ruby/ruby/blob/trunk/lib/rdoc/generator/darkfish.rb#L220 install_rdoc_static_file @template_dir + item, "./#{item}", options end - @options.template_stylesheets.each do |stylesheet| - FileUtils.cp stylesheet, '.', options + unless @options.template_stylesheets.empty? + FileUtils.cp @options.template_stylesheets, '.', **options end Dir[(@template_dir + "{js,images}/**/*").to_s].each do |path| diff --git a/lib/rdoc/generator/template/darkfish/_head.rhtml b/lib/rdoc/generator/template/darkfish/_head.rhtml index e61fce1..4f33124 100644 --- a/lib/rdoc/generator/template/darkfish/_head.rhtml +++ b/lib/rdoc/generator/template/darkfish/_head.rhtml @@ -15,8 +15,6 @@ https://github.com/ruby/ruby/blob/trunk/lib/rdoc/generator/template/darkfish/_head.rhtml#L15 <link href="<%= asset_rel_prefix %>/css/fonts.css" rel="stylesheet"> <link href="<%= asset_rel_prefix %>/css/rdoc.css" rel="stylesheet"> -<%- if @options.template_stylesheets.flatten.any? then -%> -<%- @options.template_stylesheets.flatten.each do |stylesheet| -%> +<%- @options.template_stylesheets.each do |stylesheet| -%> <link href="<%= asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet"> -<%- end -%> <%- end -%> diff --git a/lib/rdoc/options.rb b/lib/rdoc/options.rb index 7a45a9c..792b473 100644 --- a/lib/rdoc/options.rb +++ b/lib/rdoc/options.rb @@ -971,7 +971,7 @@ Usage: #{opt.program_name} [options] [names...] https://github.com/ruby/ruby/blob/trunk/lib/rdoc/options.rb#L971 opt.on("--template-stylesheets=FILES", PathArray, "Set (or add to) the list of files to", "include with the html template.") do |value| - @template_stylesheets << value + @template_stylesheets.concat value end opt.separator nil diff --git a/test/rdoc/test_rdoc_generator_darkfish.rb b/test/rdoc/test_rdoc_generator_darkfish.rb index f5858bc..3de4f8b 100644 --- a/test/rdoc/test_rdoc_generator_darkfish.rb +++ b/test/rdoc/test_rdoc_generator_darkfish.rb @@ -220,6 +220,20 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_generator_darkfish.rb#L220 assert_includes method_name, '{ |%<<script>alert("atui")</script>>, yield_arg| ... }' end + def test_template_stylesheets + css = Tempfile.create(%W'hoge .css', Dir.mktmpdir('tmp', '.')) + File.write(css, '') + base = File.basename(css) + refute_file(base) + + @options.template_stylesheets << css + + @g.generate + + assert_file base + assert_include File.read('index.html'), %Q[href="./#{base}"] + end + ## # Asserts that +filename+ has a link count greater than 1 if hard links to # @tmpdir are supported. diff --git a/test/rdoc/test_rdoc_options.rb b/test/rdoc/test_rdoc_options.rb index 206ddee..7c264c5 100644 --- a/test/rdoc/test_rdoc_options.rb +++ b/test/rdoc/test_rdoc_options.rb @@ -632,6 +632,21 @@ rdoc_include: https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_options.rb#L632 $LOAD_PATH.replace orig_LOAD_PATH end + def test_parse_template_stylesheets + css = nil + Dir.mktmpdir do |dir| + css = File.join(dir, "hoge.css") + File.write(css, "") + out, err = capture_output do + @options.parse %W[--template-stylesheets #{css}] + end + + assert_empty out + assert_empty err + end + assert_include @options.template_stylesheets, css + end + def test_parse_visibility @options.parse %w[--visibility=public] assert_equal :public, @options.visibility -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/