Class: RDoc::TestCase (Ruby 2.5.7)
Description: Class : RDoc::TestCase - Ruby 2.5.7

### Home Classes Methods

### In Files

- rdoc/test_case.rb

### Parent

MiniTest::Unit::TestCase

### Methods

- #assert_directory
- #assert_file
- #blank_line
- #block
- #comment
- #doc
- #hard_break
- #head
- #item
- #list
- #para
- #raw
- #refute_file
- #rule
- #setup
- #temp_dir
- #verb
- #verbose_capture_io

### Class/Module Index

Quicksearch

- RDoc
- RDoc::Alias
- RDoc::AnonClass
- RDoc::AnyMethod
- RDoc::Attr
- RDoc::ClassModule
- RDoc::CodeObject
- RDoc::Comment
- RDoc::Constant
- RDoc::Context
- RDoc::Context::Section
- RDoc::CrossReference
- RDoc::ERBIO
- RDoc::ERBPartial
- RDoc::Encoding
- RDoc::Error
- RDoc::Extend
- RDoc::Generator
- RDoc::Generator::Darkfish
- RDoc::Generator::JsonIndex
- RDoc::Generator::Markup
- RDoc::Generator::POT
- RDoc::Generator::POT::MessageExtractor
- RDoc::Generator::POT::PO
- RDoc::Generator::POT::POEntry
- RDoc::Generator::RI
- RDoc::GhostMethod
- RDoc::I18n
- RDoc::I18n::Locale
- RDoc::I18n::Text
- RDoc::Include
- RDoc::Markdown
- RDoc::Markdown::Literals
- RDoc::Markup
- RDoc::Markup::AttrChanger
- RDoc::Markup::AttrSpan
- RDoc::Markup::AttributeManager
- RDoc::Markup::Attributes
- RDoc::Markup::BlankLine
- RDoc::Markup::BlockQuote
- RDoc::Markup::Document
- RDoc::Markup::Formatter
- RDoc::Markup::FormatterTestCase
- RDoc::Markup::HardBreak
- RDoc::Markup::Include
- RDoc::Markup::IndentedParagraph
- RDoc::Markup::List
- RDoc::Markup::ListItem
- RDoc::Markup::Paragraph
- RDoc::Markup::Parser
- RDoc::Markup::Parser::Error
- RDoc::Markup::Parser::ParseError
- RDoc::Markup::PreProcess
- RDoc::Markup::Raw
- RDoc::Markup::Rule
- RDoc::Markup::Special
- RDoc::Markup::TextFormatterTestCase
- RDoc::Markup::ToAnsi
- RDoc::Markup::ToBs
- RDoc::Markup::ToHtml
- RDoc::Markup::ToHtmlCrossref
- RDoc::Markup::ToHtmlSnippet
- RDoc::Markup::ToJoinedParagraph
- RDoc::Markup::ToLabel
- RDoc::Markup::ToMarkdown
- RDoc::Markup::ToRdoc
- RDoc::Markup::ToTableOfContents
- RDoc::Markup::ToTest
- RDoc::Markup::ToTtOnly
- RDoc::Markup::Verbatim
- RDoc::MetaMethod
- RDoc::MethodAttr
- RDoc::Mixin
- RDoc::NormalClass
- RDoc::NormalModule
- RDoc::Options
- RDoc::Parser
- RDoc::Parser::C
- RDoc::Parser::ChangeLog
- RDoc::Parser::Markdown
- RDoc::Parser::RD
- RDoc::Parser::Ruby
- RDoc::Parser::RubyTools
- RDoc::Parser::Simple
- RDoc::Parser::Text
- RDoc::RD
- RDoc::RD::BlockParser
- RDoc::RD::Inline
- RDoc::RD::InlineParser
- RDoc::RDoc
- RDoc::RI
- RDoc::RI::Driver
- RDoc::RI::Driver::Error
- RDoc::RI::Driver::NotFoundError
- RDoc::RI::Error
- RDoc::RI::Paths
- RDoc::RI::Task
- RDoc::Require
- RDoc::RipperStateLex
- RDoc::RipperStateLex::InnerStateLex
- RDoc::RubygemsHook
- RDoc::Servlet
- RDoc::SingleClass
- RDoc::Stats
- RDoc::Stats::Normal
- RDoc::Stats::Quiet
- RDoc::Stats::Verbose
- RDoc::Store
- RDoc::Store::Error
- RDoc::Store::MissingFileError
- RDoc::Task
- RDoc::TestCase
- RDoc::Text
- RDoc::TokenStream
- RDoc::TomDoc
- RDoc::TopLevel
- RDocTask

No matching classes.

# 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 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 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 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 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 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 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 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 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 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 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 rdoc/test_case.rb, line 150
    def para *a
      @RM::Paragraph.new(*a)
    end

raw(*contents) click to toggle source

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

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

refute_file(path) click to toggle source

Refutes `path` exists

                   # File 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 rdoc/test_case.rb, line 157
    def rule weight
      @RM::Rule.new weight
    end

setup() click to toggle source

Abstract test-case setup

                   # File 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() 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 rdoc/test_case.rb, line 174
    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 rdoc/test_case.rb, line 185
    def verb *parts
      @RM::Verbatim.new(*parts)
    end

verbose_capture_io() click to toggle source

run capture_io with setting $VERBOSE = true

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