diff options
author | zzak <zzakscott@gmail.com> | 2023-02-01 12:22:23 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-02-03 23:41:06 +0000 |
commit | e04d20bc482e39262a648e71193c1739b5a702fc (patch) | |
tree | cc475443ce6ff061714d5d606115d5f64e4541a4 | |
parent | a8000d06cc718349192acbc8343ba849ba34a67f (diff) | |
download | ruby-e04d20bc482e39262a648e71193c1739b5a702fc.tar.gz |
[ruby/rdoc] Add rdoc:coverage default task
https://github.com/ruby/rdoc/commit/157fbaf575
-rw-r--r-- | lib/rdoc/task.rb | 28 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_task.rb | 9 |
2 files changed, 35 insertions, 2 deletions
diff --git a/lib/rdoc/task.rb b/lib/rdoc/task.rb index 8ea2d0588c..72b5111ff6 100644 --- a/lib/rdoc/task.rb +++ b/lib/rdoc/task.rb @@ -50,6 +50,9 @@ require 'rake/tasklib' # [rerdoc] # Rebuild the rdoc files from scratch, even if they are not out of date. # +# [rdoc:coverage] +# Print RDoc coverage report for all rdoc files. +# # Simple Example: # # require 'rdoc/task' @@ -90,8 +93,8 @@ require 'rake/tasklib' # RDoc::Task.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean", # :rerdoc => "rdoc:force") # -# This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc:clean</tt> and -# <tt>:rdoc:force</tt>. +# This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc:clean</tt>, +# <tt>:rdoc:force</tt>, and <tt>:rdoc:coverage</tt>. class RDoc::Task < Rake::TaskLib @@ -248,6 +251,16 @@ class RDoc::Task < Rake::TaskLib RDoc::RDoc.new.document args end + namespace rdoc_task_name do + desc coverage_task_description + task coverage_task_name do + @before_running_rdoc.call if @before_running_rdoc + opts = option_list << "-C" + args = opts + @rdoc_files + + $stderr.puts "rdoc #{args.join ' '}" if Rake.application.options.trace + end + end self end @@ -288,6 +301,13 @@ class RDoc::Task < Rake::TaskLib "Rebuild RDoc HTML files" end + ## + # Task description for the coverage task or its renamed description + + def coverage_task_description + "Print RDoc coverage report" + end + private def rdoc_target @@ -315,6 +335,10 @@ class RDoc::Task < Rake::TaskLib end end + def coverage_task_name + "coverage" + end + end # :stopdoc: diff --git a/test/rdoc/test_rdoc_task.rb b/test/rdoc/test_rdoc_task.rb index 23add7d5fe..67d223087b 100644 --- a/test/rdoc/test_rdoc_task.rb +++ b/test/rdoc/test_rdoc_task.rb @@ -50,6 +50,7 @@ class TestRDocTask < RDoc::TestCase assert Rake::Task[:rdoc] assert Rake::Task[:clobber_rdoc] assert Rake::Task[:rerdoc] + assert Rake::Task[:"rdoc:coverage"] assert_equal ["html/created.rid"], Rake::Task[:rdoc].prerequisites end @@ -58,6 +59,7 @@ class TestRDocTask < RDoc::TestCase assert Rake::Task[:rdoc_dev] assert Rake::Task[:clobber_rdoc_dev] assert Rake::Task[:rerdoc_dev] + assert Rake::Task[:"rdoc_dev:coverage"] assert_equal :rdoc_dev, rd.name end @@ -110,11 +112,16 @@ class TestRDocTask < RDoc::TestCase assert_equal 'Rebuild RDoc HTML files', @t.rerdoc_task_description end + def test_coverage_task_description + assert_equal 'Print RDoc coverage report', @t.coverage_task_description + end + def test_tasks_creation_with_custom_name_string rd = RDoc::Task.new("rdoc_dev") assert Rake::Task[:rdoc_dev] assert Rake::Task[:clobber_rdoc_dev] assert Rake::Task[:rerdoc_dev] + assert Rake::Task[:"rdoc_dev:coverage"] assert_equal "rdoc_dev", rd.name end @@ -131,6 +138,7 @@ class TestRDocTask < RDoc::TestCase assert Rake::Task[:"rdoc"] assert Rake::Task[:"rdoc:clean"] assert Rake::Task[:"rdoc:force"] + assert Rake::Task[:"rdoc:coverage"] assert_raise(RuntimeError) { Rake::Task[:clobber_rdoc] } assert_equal options, rd.name end @@ -140,6 +148,7 @@ class TestRDocTask < RDoc::TestCase assert Rake::Task[:rdoc] assert Rake::Task[:"rdoc:clean"] assert Rake::Task[:rerdoc] + assert Rake::Task[:"rdoc:coverage"] end def test_tasks_creation_with_custom_name_hash_raises_exception_if_invalid_option_given |