# class RDoc::TestCase

RDoc::TestCase is an abstract TestCase to provide common setup and teardown across all RDoc tests. The test case uses minitest, so all the assertions of minitest may be used.

The testcase provides the following:

- A reset code-object tree

- A reset markup preprocessor (RDoc::Markup::PreProcess)

- The `@RM` alias of RDoc::Markup (for less typing)

- `@pwd` containing the current working directory

- FileUtils, pp, Tempfile, Dir.tmpdir and StringIO

### Public Instance Methods

assert_directory(path) click to toggle source

Asserts `path` is a directory

    # File lib/rdoc/test_case.rb, line 70
    def assert_directory path
      assert File.directory?(path), "#{path} is not a directory"
    end

assert_file(path) click to toggle source

Asserts `path` is a file

    # File lib/rdoc/test_case.rb, line 63
    def assert_file path
      assert File.file?(path), "#{path} is not a file"
    end

blank_line() click to toggle source

Shortcut for RDoc::Markup::BlankLine.new

    # File lib/rdoc/test_case.rb, line 84
    def blank_line
      @RM::BlankLine.new
    end

block(*contents) click to toggle source

Shortcut for RDoc::Markup::Raw.new with `contents`

    # File lib/rdoc/test_case.rb, line 91
    def block *contents
      @RM::BlockQuote.new(*contents)
    end

comment(text, top_level = @top_level) click to toggle source

Creates an RDoc::Comment with `text` which was defined on `top_level`. By default the comment has the 'rdoc' format.

    # File lib/rdoc/test_case.rb, line 99
    def comment text, top_level = @top_level
      RDoc::Comment.new text, top_level
    end

doc(*contents) click to toggle source

Shortcut for RDoc::Markup::Document.new with `contents`

    # File lib/rdoc/test_case.rb, line 106
    def doc *contents
      @RM::Document.new(*contents)
    end

hard_break() click to toggle source

Shortcut for RDoc::Markup::HardBreak.new

    # File lib/rdoc/test_case.rb, line 113
    def hard_break
      @RM::HardBreak.new
    end

head(level, text) click to toggle source

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

    # File lib/rdoc/test_case.rb, line 120
    def head level, text
      @RM::Heading.new level, text
    end

item(label = nil, *parts) click to toggle source

Shortcut for RDoc::Markup::ListItem.new with `label` and `parts`

    # File lib/rdoc/test_case.rb, line 127
    def item label = nil, *parts
      @RM::ListItem.new label, *parts
    end

list(type = nil, *items) click to toggle source

Shortcut for RDoc::Markup::List.new with `type` and `items`

    # File lib/rdoc/test_case.rb, line 134
    def list type = nil, *items
      @RM::List.new type, *items
    end

para(*a) click to toggle source

Shortcut for RDoc::Markup::Raw.new with `contents`

    # File lib/rdoc/test_case.rb, line 151
    def para *a
      @RM::Paragraph.new(*a)
    end

raw(*contents) click to toggle source

Shortcut for RDoc::Markup::Raw.new with `contents`

    # File lib/rdoc/test_case.rb, line 165
    def raw *contents
      @RM::Raw.new(*contents)
    end

refute_file(path) click to toggle source

Refutes `path` exists

    # File lib/rdoc/test_case.rb, line 77
    def refute_file path
      refute File.exist?(path), "#{path} exists"
    end

rule(weight) click to toggle source

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

    # File lib/rdoc/test_case.rb, line 158
    def rule weight
      @RM::Rule.new weight
    end

setup() click to toggle source

Abstract test-case setup

Calls superclass method

    # File lib/rdoc/test_case.rb, line 37
    def setup
      super

      @top_level = nil

      @RM = RDoc::Markup

      RDoc::Markup::PreProcess.reset

      @pwd = Dir.pwd

      @store = RDoc::Store.new

      @rdoc = RDoc::RDoc.new
      @rdoc.store = @store
      @rdoc.options = RDoc::Options.new

      g = Object.new
      def g.class_dir() end
      def g.file_dir() end
      @rdoc.generator = g
    end

temp_dir() { |temp_dir| ... } click to toggle source

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

Depends upon Dir.mktmpdir

    # File lib/rdoc/test_case.rb, line 175
    def temp_dir
      Dir.mktmpdir do |temp_dir|
        Dir.chdir temp_dir do
          yield temp_dir
        end
      end
    end

verb(*parts) click to toggle source

Shortcut for RDoc::Markup::Raw.new with `parts`

    # File lib/rdoc/test_case.rb, line 186
    def verb *parts
      @RM::Verbatim.new(*parts)
    end

verbose_capture_io() { || ... } click to toggle source

run capture_io with setting $VERBOSE = true

    # File lib/rdoc/test_case.rb, line 193
    def verbose_capture_io
      capture_io do
        begin
          orig_verbose = $VERBOSE
          $VERBOSE = true
          yield
        ensure
          $VERBOSE = orig_verbose
        end
      end
    end