Skip to content

Commit 2243230

Browse files
committed
Ensure option_parser is there present even if we're not using it
1 parent 5602b93 commit 2243230

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

lib/rdoc/options.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,10 @@ def setup_generator generator_name = @generator_name
745745
@generator_name = generator_name
746746
@generator_options << @generator
747747

748-
@generator.setup_options self if @generator.respond_to? :setup_options
748+
if @generator.respond_to? :setup_options then
749+
@option_parser ||= OptionParser.new
750+
@generator.setup_options self
751+
end
749752
end
750753

751754
##

test/test_rdoc_options.rb

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,16 +345,38 @@ def self.setup_options op
345345
def self.op() @op end
346346
end
347347

348-
RDoc::RDoc::GENERATORS['TestGenerator'] = test_generator
348+
RDoc::RDoc::GENERATORS['test'] = test_generator
349349

350-
@options.setup_generator 'TestGenerator'
350+
@options.setup_generator 'test'
351351

352352
assert_equal test_generator, @options.generator
353353
assert_equal [test_generator], @options.generator_options
354354

355355
assert_equal @options, test_generator.op
356356
ensure
357-
RDoc::RDoc::GENERATORS.delete 'TestGenerator'
357+
RDoc::RDoc::GENERATORS.delete 'test'
358+
end
359+
360+
def test_setup_generator_no_option_parser
361+
test_generator = Class.new do
362+
def self.setup_options op
363+
op.option_parser.separator nil
364+
@op = op
365+
end
366+
367+
def self.op() @op end
368+
end
369+
370+
RDoc::RDoc::GENERATORS['test'] = test_generator
371+
372+
@options.setup_generator 'test'
373+
374+
assert_equal test_generator, @options.generator
375+
assert_equal [test_generator], @options.generator_options
376+
377+
assert_equal @options, test_generator.op
378+
ensure
379+
RDoc::RDoc::GENERATORS.delete 'test'
358380
end
359381

360382
def test_update_output_dir

0 commit comments

Comments
 (0)