summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_markup_formatter.rb
blob: 73e75e2aa15410d761e6f7df3d081752c966f98a (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
require 'rubygems'
require 'minitest/autorun'
require 'rdoc'
require 'rdoc/markup'
require 'rdoc/markup/formatter'

class TestRDocMarkupFormatter < MiniTest::Unit::TestCase

  class ToTest < RDoc::Markup::Formatter

    def initialize markup
      super

      add_tag :TT, '<tt>', '</tt>'
    end

    def accept_paragraph paragraph
      @res << attributes(paragraph.text)
    end

    def attributes text
      convert_flow @am.flow text.dup
    end

    def handle_special_CAPS special
      "handled #{special.text}"
    end

    def start_accepting
      @res = ""
    end

    def end_accepting
      @res
    end

  end

  def setup
    @markup = RDoc::Markup.new
    @markup.add_special(/[A-Z]+/, :CAPS)

    @to = ToTest.new @markup

    @caps    = RDoc::Markup::Attribute.bitmap_for :CAPS
    @special = RDoc::Markup::Attribute.bitmap_for :_SPECIAL_
    @tt      = RDoc::Markup::Attribute.bitmap_for :TT
  end

  def test_convert_tt_special
    converted = @to.convert '<tt>AAA</tt>'

    assert_equal '<tt>AAA</tt>', converted
  end

end