aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_options.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-28 22:08:56 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-28 22:08:56 +0000
commite2efe8e81dc7e9fce40b024df6a20bbf4b830350 (patch)
tree942e66e071e759c7db670a42daeac26c7437f25b /test/rdoc/test_rdoc_options.rb
parent90d5bcf9104fe58887cf705b718a9c7b537b51a5 (diff)
downloadruby-e2efe8e81dc7e9fce40b024df6a20bbf4b830350.tar.gz
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.rb53
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