diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-12-28 22:08:56 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-12-28 22:08:56 +0000 |
commit | e2efe8e81dc7e9fce40b024df6a20bbf4b830350 (patch) | |
tree | 942e66e071e759c7db670a42daeac26c7437f25b /test/rdoc/test_rdoc_options.rb | |
parent | 90d5bcf9104fe58887cf705b718a9c7b537b51a5 (diff) |
Import RDoc 3.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rdoc/test_rdoc_options.rb')
-rw-r--r-- | test/rdoc/test_rdoc_options.rb | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/test/rdoc/test_rdoc_options.rb b/test/rdoc/test_rdoc_options.rb index 3d07353c5f..a84503d3f5 100644 --- a/test/rdoc/test_rdoc_options.rb +++ b/test/rdoc/test_rdoc_options.rb @@ -9,6 +9,11 @@ class TestRDocOptions < MiniTest::Unit::TestCase def setup @options = RDoc::Options.new + @generators = RDoc::RDoc::GENERATORS.dup + end + + def teardown + RDoc::RDoc::GENERATORS.replace @generators end def test_check_files @@ -47,6 +52,20 @@ file 'unreadable' not readable assert_equal Encoding.default_external, @options.encoding end + def test_generator_descriptions + # HACK autotest/isolate should take care of this + RDoc::RDoc::GENERATORS.clear + RDoc::RDoc::GENERATORS['darkfish'] = RDoc::Generator::Darkfish + RDoc::RDoc::GENERATORS['ri'] = RDoc::Generator::RI + + expected = <<-EXPECTED.chomp + darkfish - HTML generator, written by Michael Granger + ri - creates ri data files + EXPECTED + + assert_equal expected, @options.generator_descriptions + end + def test_parse_dash_p out, err = capture_io do @options.parse %w[-p] @@ -178,6 +197,27 @@ file 'unreadable' not readable assert_equal 1, out.scan(/ri generator options:/). length end + def test_parse_help_extra_generator + RDoc::RDoc::GENERATORS['test'] = Class.new do + def self.setup_options options + op = options.option_parser + + op.separator 'test generator options:' + end + end + + out, = capture_io do + begin + @options.parse %w[--help] + rescue SystemExit + end + end + + assert_equal 1, out.scan(/HTML generator options:/).length + assert_equal 1, out.scan(/ri generator options:/). length + assert_equal 1, out.scan(/test generator options:/).length + end + def test_parse_ignore_invalid out, err = capture_io do @options.parse %w[--ignore-invalid --bogus] @@ -278,12 +318,13 @@ file 'unreadable' not readable end def test_setup_generator - test_generator = Object.new - def test_generator.setup_options(op) - @op = op - end + test_generator = Class.new do + def self.setup_options op + @op = op + end - def test_generator.op() @op end + def self.op() @op end + end RDoc::RDoc::GENERATORS['TestGenerator'] = test_generator @@ -293,6 +334,8 @@ file 'unreadable' not readable assert_equal [test_generator], @options.generator_options assert_equal @options, test_generator.op + ensure + RDoc::RDoc::GENERATORS.delete 'TestGenerator' end end |