summaryrefslogtreecommitdiff
path: root/jni/ruby/test/rdoc/test_rdoc_task.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/test/rdoc/test_rdoc_task.rb')
-rw-r--r--jni/ruby/test/rdoc/test_rdoc_task.rb170
1 files changed, 170 insertions, 0 deletions
diff --git a/jni/ruby/test/rdoc/test_rdoc_task.rb b/jni/ruby/test/rdoc/test_rdoc_task.rb
new file mode 100644
index 0000000..43d4589
--- /dev/null
+++ b/jni/ruby/test/rdoc/test_rdoc_task.rb
@@ -0,0 +1,170 @@
+require 'rdoc/test_case'
+require 'rake'
+
+class TestRDocTask < RDoc::TestCase
+
+ def setup
+ super
+
+ Rake::Task.clear
+
+ @t = RDoc::Task.new
+ end
+
+ def test_clobber_task_description
+ assert_equal 'Remove RDoc HTML files', @t.clobber_task_description
+ end
+
+ def test_inline_source
+ _, err = verbose_capture_io do
+ assert @t.inline_source
+ end
+
+ assert_equal "RDoc::Task#inline_source is deprecated\n", err
+
+ _, err = verbose_capture_io do
+ @t.inline_source = false
+ end
+
+ assert_equal "RDoc::Task#inline_source is deprecated\n", err
+
+ capture_io do
+ assert @t.inline_source
+ end
+ end
+
+ def test_markup_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.markup = "tomdoc"
+ end
+
+ assert_equal %w[-o html --markup tomdoc], rdoc_task.option_list
+ end
+
+ def test_tasks_creation
+ RDoc::Task.new
+ assert Rake::Task[:rdoc]
+ assert Rake::Task[:clobber_rdoc]
+ assert Rake::Task[:rerdoc]
+ assert_equal ["html/created.rid"], Rake::Task[:rdoc].prerequisites
+ end
+
+ def test_tasks_creation_with_custom_name_symbol
+ rd = RDoc::Task.new(:rdoc_dev)
+ assert Rake::Task[:rdoc_dev]
+ assert Rake::Task[:clobber_rdoc_dev]
+ assert Rake::Task[:rerdoc_dev]
+ assert_equal :rdoc_dev, rd.name
+ end
+
+ def test_tasks_option_parser
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.title = "Test Tasks Option Parser"
+ rd.main = "README.md"
+ rd.rdoc_files.include("README.md")
+ rd.options << "--all"
+ end
+
+ assert rdoc_task.title, "Test Tasks Option Parser"
+ assert rdoc_task.main, "README.md"
+ assert rdoc_task.rdoc_files.include?("README.md")
+ assert rdoc_task.options.include?("--all")
+
+ args = %w[--all -o html --main README.md] << "--title" << "Test Tasks Option Parser" << "README.md"
+ assert_equal args, rdoc_task.option_list + rdoc_task.rdoc_files
+ end
+
+ def test_generator_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.generator = "ri"
+ end
+
+ assert_equal %w[-o html -f ri], rdoc_task.option_list
+ end
+
+ def test_main_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.main = "README.md"
+ end
+
+ assert_equal %w[-o html --main README.md], rdoc_task.option_list
+ end
+
+ def test_output_dir_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.rdoc_dir = "zomg"
+ end
+
+ assert_equal %w[-o zomg], rdoc_task.option_list
+ end
+
+ def test_rdoc_task_description
+ assert_equal 'Build RDoc HTML files', @t.rdoc_task_description
+ end
+
+ def test_rerdoc_task_description
+ assert_equal 'Rebuild RDoc HTML files', @t.rerdoc_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_equal "rdoc_dev", rd.name
+ end
+
+ def test_tasks_creation_with_custom_name_hash
+ options = {
+ :rdoc => "rdoc",
+ :clobber_rdoc => "rdoc:clean",
+ :rerdoc => "rdoc:force"
+ }
+
+ Rake::Task.clear
+
+ rd = RDoc::Task.new(options)
+ assert Rake::Task[:"rdoc"]
+ assert Rake::Task[:"rdoc:clean"]
+ assert Rake::Task[:"rdoc:force"]
+ assert_raises(RuntimeError) { Rake::Task[:clobber_rdoc] }
+ assert_equal options, rd.name
+ end
+
+ def test_tasks_creation_with_custom_name_hash_will_use_default_if_an_option_isnt_given
+ RDoc::Task.new(:clobber_rdoc => "rdoc:clean")
+ assert Rake::Task[:rdoc]
+ assert Rake::Task[:"rdoc:clean"]
+ assert Rake::Task[:rerdoc]
+ end
+
+ def test_tasks_creation_with_custom_name_hash_raises_exception_if_invalid_option_given
+ assert_raises(ArgumentError) do
+ RDoc::Task.new(:foo => "bar")
+ end
+
+ begin
+ RDoc::Task.new(:foo => "bar")
+ rescue ArgumentError => e
+ assert_match(/foo/, e.message)
+ end
+ end
+
+ def test_template_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.template = "foo"
+ end
+
+ assert_equal %w[-o html -T foo], rdoc_task.option_list
+ end
+
+ def test_title_option
+ rdoc_task = RDoc::Task.new do |rd|
+ rd.title = "Test Title Option"
+ end
+
+ assert_equal %w[-o html] << "--title" << "Test Title Option", rdoc_task.option_list
+ end
+
+end
+