1require 'rdoc/test_case' 2 3class TestRDocParserRd < RDoc::TestCase 4 5 def setup 6 super 7 8 @RP = RDoc::Parser 9 10 @tempfile = Tempfile.new self.class.name 11 filename = @tempfile.path 12 13 @top_level = @store.add_file filename 14 @fn = filename 15 @options = RDoc::Options.new 16 @stats = RDoc::Stats.new @store, 0 17 end 18 19 def teardown 20 super 21 22 @tempfile.close 23 end 24 25 def mu_pp obj 26 s = '' 27 s = PP.pp obj, s 28 s = s.force_encoding Encoding.default_external if defined? Encoding 29 s.chomp 30 end 31 32 def test_file 33 assert_kind_of RDoc::Parser::Text, util_parser('') 34 end 35 36 def test_class_can_parse 37 temp_dir do 38 FileUtils.touch 'foo.rd' 39 assert_equal @RP::RD, @RP.can_parse('foo.rd') 40 41 FileUtils.touch 'foo.rd.ja' 42 assert_equal @RP::RD, @RP.can_parse('foo.rd.ja') 43 end 44 end 45 46 def test_scan 47 parser = util_parser 'it ((*really*)) works' 48 49 expected = doc(para('it <em>really</em> works')) 50 expected.file = @top_level 51 52 parser.scan 53 54 assert_equal expected, @top_level.comment.parse 55 end 56 57 def util_parser content 58 RDoc::Parser::RD.new @top_level, @fn, content, @options, @stats 59 end 60 61end 62 63