# 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 69
    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 62
    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 83
    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 90
    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 98
    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 105
    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 112
    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 119
    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 126
    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 133
    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 149
    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 163
    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 76
    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 156
    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 36
    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 173
    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 184
    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 191
    def verbose_capture_io
      capture_io do
        begin
          orig_verbose = $VERBOSE
          $VERBOSE = true
          yield
        ensure
          $VERBOSE = orig_verbose
        end
      end
    end