class RDoc::Markup::TextFormatterTestCase

frozen_string_literal: true

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

Public Class Methods

add_text_tests() click to toggle source

Adds test cases to the calling TestCase.

# File lib/rdoc/markup/text_formatter_test_case.rb, line 34
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

Public Instance Methods

test_accept_heading_indent() click to toggle source

Test case that calls @to.accept_heading

# File lib/rdoc/markup/text_formatter_test_case.rb, line 40
def test_accept_heading_indent
  @to.start_accepting
  @to.indent = 3
  @to.accept_heading @RM::Heading.new(1, 'Hello')

  accept_heading_indent
end
test_accept_paragraph_indent() click to toggle source

Test case that calls @to.accept_paragraph with an indent

# File lib/rdoc/markup/text_formatter_test_case.rb, line 84
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_accept_paragraph_wrap() click to toggle source

Test case that calls @to.accept_paragraph with a long line

# File lib/rdoc/markup/text_formatter_test_case.rb, line 95
def test_accept_paragraph_wrap
  @to.start_accepting
  @to.accept_paragraph @RM::Paragraph.new(('words ' * 30).strip)

  accept_paragraph_wrap
end
test_accept_rule_indent() click to toggle source

Test case that calls @to.accept_rule

# File lib/rdoc/markup/text_formatter_test_case.rb, line 51
def test_accept_rule_indent
  @to.start_accepting
  @to.indent = 3
  @to.accept_rule @RM::Rule.new(1)

  accept_rule_indent
end
test_accept_verbatim_big_indent() click to toggle source

Test case that calls @to.accept_verbatim with a big indent

# File lib/rdoc/markup/text_formatter_test_case.rb, line 73
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_accept_verbatim_indent() click to toggle source

Test case that calls @to.accept_verbatim

# File lib/rdoc/markup/text_formatter_test_case.rb, line 62
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_attributes() click to toggle source

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

# File lib/rdoc/markup/text_formatter_test_case.rb, line 107
def test_attributes
  assert_equal 'Dog', @to.attributes("\\Dog")
end