MiniTest::Unit::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
Asserts path is a directory
# File rdoc/test_case.rb, line 74
def assert_directory path
assert File.directory?(path), "#{path} is not a directory"
end
Asserts path is a file
# File rdoc/test_case.rb, line 67
def assert_file path
assert File.file?(path), "#{path} is not a file"
end
Shortcut for RDoc::Markup::BlankLine.new
# File rdoc/test_case.rb, line 88
def blank_line
@RM::BlankLine.new
end
Shortcut for RDoc::Markup::Raw.new with
contents
# File rdoc/test_case.rb, line 95
def block *contents
@RM::BlockQuote.new(*contents)
end
Shortcut for RDoc::Markup::Document.new
with contents
# File rdoc/test_case.rb, line 110
def doc *contents
@RM::Document.new(*contents)
end
Shortcut for RDoc::Markup::HardBreak.new
# File rdoc/test_case.rb, line 117
def hard_break
@RM::HardBreak.new
end
Shortcut for RDoc::Markup::Heading.new with level and
text
# File rdoc/test_case.rb, line 124
def head level, text
@RM::Heading.new level, text
end
Shortcut for RDoc::Markup::ListItem.new
with label and parts
# File rdoc/test_case.rb, line 131
def item label = nil, *parts
@RM::ListItem.new label, *parts
end
Shortcut for RDoc::Markup::List.new with
type and items
# File rdoc/test_case.rb, line 138
def list type = nil, *items
@RM::List.new type, *items
end
Shortcut for RDoc::Markup::Raw.new with
contents
# File rdoc/test_case.rb, line 155
def para *a
@RM::Paragraph.new(*a)
end
Shortcut for RDoc::Markup::Raw.new with
contents
# File rdoc/test_case.rb, line 169
def raw *contents
@RM::Raw.new(*contents)
end
Refutes path exists
# File rdoc/test_case.rb, line 81
def refute_file path
refute File.exist?(path), "#{path} exists"
end
Shortcut for RDoc::Markup::Rule.new with weight
# File rdoc/test_case.rb, line 162
def rule weight
@RM::Rule.new weight
end
Abstract test-case setup
# File rdoc/test_case.rb, line 39
def setup
super
@top_level = nil
@have_encoding = Object.const_defined? :Encoding
@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
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 179
def temp_dir
skip "No Dir::mktmpdir, upgrade your ruby" unless Dir.respond_to? :mktmpdir
Dir.mktmpdir do |temp_dir|
Dir.chdir temp_dir do
yield temp_dir
end
end
end
Shortcut for RDoc::Markup::Raw.new with
parts
# File rdoc/test_case.rb, line 192
def verb *parts
@RM::Verbatim.new(*parts)
end
Creates an RDoc::Comment with
textwhich was defined ontop_level. By default the comment has the ‘rdoc’ format.# File rdoc/test_case.rb, line 103 def comment text, top_level = @top_level RDoc::Comment.new text, top_level end