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