1require 'rdoc/test_case'
2
3class TestRDocParserMarkdown < 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 test_file
26    assert_kind_of RDoc::Parser::Text, util_parser('')
27  end
28
29  def test_class_can_parse
30    temp_dir do
31      FileUtils.touch 'foo.md'
32      assert_equal @RP::Markdown, @RP.can_parse('foo.md')
33      FileUtils.touch 'foo.md.ja'
34      assert_equal @RP::Markdown, @RP.can_parse('foo.md.ja')
35
36      FileUtils.touch 'foo.markdown'
37      assert_equal @RP::Markdown, @RP.can_parse('foo.markdown')
38      FileUtils.touch 'foo.markdown.ja'
39      assert_equal @RP::Markdown, @RP.can_parse('foo.markdown.ja')
40    end
41  end
42
43  def test_scan
44    parser = util_parser 'it *really* works'
45
46    expected =
47      @RM::Document.new(
48        @RM::Paragraph.new('it _really_ works'))
49    expected.file = @top_level
50
51    parser.scan
52
53    assert_equal expected, @top_level.comment.parse
54  end
55
56  def util_parser content
57    RDoc::Parser::Markdown.new @top_level, @fn, content, @options, @stats
58  end
59
60end
61
62