123456789_123456789_123456789_123456789_123456789_

Class: RDoc::Markup::TextFormatterTestCase

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, FormatterTestCase, ::RDoc::TestCase, MiniTest::Unit::TestCase
Instance Chain:
self, FormatterTestCase, ::RDoc::TestCase, MiniTest::Unit::TestCase
Inherits: RDoc::Markup::FormatterTestCase
Defined in: lib/rdoc/markup/text_formatter_test_case.rb

Overview

Test case for creating new plain-text ::RDoc::Markup formatters. See also 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

FormatterTestCase - Inherited

.add_visitor_tests

Call to add the visitor tests to your test case.

Instance Method Summary

FormatterTestCase - Inherited

#setup

Call #setup when inheriting from this test case.

::RDoc::TestCase - Inherited

#assert_directory

Asserts path is a directory.

#assert_file

Asserts path is a file.

#blank_line

Shortcut for BlankLine.new

#block

Shortcut for RDoc::Markup::BlockQuote.new with contents

#comment

Creates an ::RDoc::Comment with text which was defined on top_level.

#doc

Shortcut for Document.new with contents

#hard_break

Shortcut for HardBreak.new

#head

Shortcut for RDoc::Markup::Heading.new with level and text

#item

Shortcut for ListItem.new with label and parts

#list

Shortcut for List.new with type and items

#para

Shortcut for RDoc::Markup::Paragraph.new with contents

#raw

Shortcut for Raw.new with contents

#refute_file

Refutes path exists.

#rule

Shortcut for RDoc::Markup::Rule.new with weight

#setup

Abstract test-case setup.

#temp_dir

Creates a temporary directory changes the current directory to it for the duration of the block.

#verb

Shortcut for Verbatim.new with parts

#verbose_capture_io

run capture_io with setting $VERBOSE = true.

#mu_pp

Enables pretty-print output.

Class Method Details

.add_text_tests

Adds test cases to the calling ::RDoc::TestCase.

[ GitHub ]

  
# 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