require 'tempfile' require 'rubygems' require 'minitest/autorun' require 'rdoc/options' require 'rdoc/parser' class TestRDocParserSimple < MiniTest::Unit::TestCase def setup @tempfile = Tempfile.new self.class.name filename = @tempfile.path @top_level = RDoc::TopLevel.new filename @fn = filename @options = RDoc::Options.new @stats = RDoc::Stats.new 0 RDoc::TopLevel.reset end def teardown @tempfile.close end def test_initialize_metadata parser = util_parser ":unhandled: \n# :markup: not rdoc\n" assert_equal nil, @top_level.metadata['unhandled'] assert_equal 'not rdoc', @top_level.metadata['markup'] assert_equal ":unhandled: \n# :markup: not rdoc\n", parser.content end def test_remove_coding_comment parser = util_parser <<-TEXT # -*- mode: rdoc; coding: utf-8; fill-column: 74; -*- Regular expressions (regexps) are patterns which describe the contents of a string. TEXT parser.scan expected = <<-TEXT.strip Regular expressions (regexps) are patterns which describe the contents of a string. TEXT assert_equal expected, @top_level.comment end def test_remove_private_comments parser = util_parser '' text = "foo\n\n--\nbar\n++\n\nbaz\n" expected = "foo\n\n\n\nbaz\n" assert_equal expected, parser.remove_private_comments(text) end def test_remove_private_comments_star parser = util_parser '' text = "* foo\n* bar\n" expected = text.dup assert_equal expected, parser.remove_private_comments(text) end def util_parser(content) RDoc::Parser::Simple.new @top_level, @fn, content, @options, @stats end end