Class: RDoc::Markup::TextFormatterTestCase

Inherits:
FormatterTestCase show all
Defined in:
lib/rdoc/markup/text_formatter_test_case.rb

Overview

Test case for creating new plain-text RDoc::Markup formatters. See also RDoc::Markup::FormatterTestCase

See test_rdoc_markup_to_rdoc.rb for a complete example.

Example:

class TestRDocMarkupToNewTextFormat < RDoc::Markup::TextFormatterTestCase

  add_visitor_tests
  add_text_tests

  def setup
    super

    @to = RDoc::Markup::ToNewTextFormat.new
  end

  def accept_blank_line
    assert_equal :junk, @to.res.join
  end

  # ...

end

Class Method Summary collapse

Methods inherited from FormatterTestCase

add_visitor_tests, #setup

Methods inherited from TestCase

#assert_directory, #assert_file, #blank_line, #block, #comment, #doc, #hard_break, #head, #item, #list, #mu_pp, #para, #raw, #refute_file, #rule, #setup, #temp_dir, #verb, #verbose_capture_io

Class Method Details

.add_text_testsObject

Adds test cases to the calling TestCase.



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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/rdoc/markup/text_formatter_test_case.rb', line 33

def self.add_text_tests
  self.class_eval do

    ##
    # Test case that calls <tt>@to.accept_heading</tt>

    def test_accept_heading_indent
      @to.start_accepting
      @to.indent = 3
      @to.accept_heading @RM::Heading.new(1, 'Hello')

      accept_heading_indent
    end

    ##
    # Test case that calls <tt>@to.accept_rule</tt>

    def test_accept_rule_indent
      @to.start_accepting
      @to.indent = 3
      @to.accept_rule @RM::Rule.new(1)

      accept_rule_indent
    end

    ##
    # Test case that calls <tt>@to.accept_verbatim</tt>

    def test_accept_verbatim_indent
      @to.start_accepting
      @to.indent = 2
      @to.accept_verbatim @RM::Verbatim.new("hi\n", " world\n")

      accept_verbatim_indent
    end

    ##
    # Test case that calls <tt>@to.accept_verbatim</tt> with a big indent

    def test_accept_verbatim_big_indent
      @to.start_accepting
      @to.indent = 2
      @to.accept_verbatim @RM::Verbatim.new("hi\n", "world\n")

      accept_verbatim_big_indent
    end

    ##
    # Test case that calls <tt>@to.accept_paragraph</tt> with an indent

    def test_accept_paragraph_indent
      @to.start_accepting
      @to.indent = 3
      @to.accept_paragraph @RM::Paragraph.new(('words ' * 30).strip)

      accept_paragraph_indent
    end

    ##
    # Test case that calls <tt>@to.accept_paragraph</tt> with a long line

    def test_accept_paragraph_wrap
      @to.start_accepting
      @to.accept_paragraph @RM::Paragraph.new(('words ' * 30).strip)

      accept_paragraph_wrap
    end

    ##
    # Test case that calls <tt>@to.attributes</tt> with an escaped
    # cross-reference.  If this test doesn't pass something may be very
    # wrong.

    def test_attributes
      assert_equal 'Dog', @to.attributes("\\Dog")
    end

  end
end