# 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::BlockQuote.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::Paragraph.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::Verbatim.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