summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_parser_markdown.rb
blob: a8a84029460ed36d3f282eedf6ad1f7bbc507f16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# frozen_string_literal: false
require 'rdoc/test_case'

class TestRDocParserMarkdown < RDoc::TestCase

  def setup
    super

    @RP = RDoc::Parser

    @tempfile = Tempfile.new self.class.name
    filename = @tempfile.path

    @top_level = @store.add_file filename
    @fn = filename
    @options = RDoc::Options.new
    @stats = RDoc::Stats.new @store, 0
  end

  def teardown
    super

    @tempfile.close!
  end

  def test_file
    assert_kind_of RDoc::Parser::Text, util_parser('')
  end

  def test_class_can_parse
    temp_dir do
      FileUtils.touch 'foo.md'
      assert_equal @RP::Markdown, @RP.can_parse('foo.md')
      FileUtils.touch 'foo.md.ja'
      assert_equal @RP::Markdown, @RP.can_parse('foo.md.ja')

      FileUtils.touch 'foo.markdown'
      assert_equal @RP::Markdown, @RP.can_parse('foo.markdown')
      FileUtils.touch 'foo.markdown.ja'
      assert_equal @RP::Markdown, @RP.can_parse('foo.markdown.ja')
    end
  end

  def test_scan
    parser = util_parser 'it *really* works'

    expected =
      @RM::Document.new(
        @RM::Paragraph.new('it _really_ works'))
    expected.file = @top_level

    parser.scan

    assert_equal expected, @top_level.comment.parse
  end

  def util_parser content
    RDoc::Parser::Markdown.new @top_level, @fn, content, @options, @stats
  end

end