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 70
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 63
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 84
def blank_line
@RM::BlankLine.new
end
Shortcut for RDoc::Markup::BlockQuote.new with contents
# File rdoc/test_case.rb, line 91
def block *contents
@RM::BlockQuote.new(*contents)
end
Shortcut for RDoc::Markup::Document.new with contents
# File rdoc/test_case.rb, line 106
def doc *contents
@RM::Document.new(*contents)
end
Shortcut for RDoc::Markup::HardBreak.new
# File rdoc/test_case.rb, line 113
def hard_break
@RM::HardBreak.new
end
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
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
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
Shortcut for RDoc::Markup::Paragraph.new with contents
# File rdoc/test_case.rb, line 150
def para *a
@RM::Paragraph.new(*a)
end
Shortcut for RDoc::Markup::Raw.new with contents
# File rdoc/test_case.rb, line 164
def raw *contents
@RM::Raw.new(*contents)
end
Refutes path exists
# File rdoc/test_case.rb, line 77
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 157
def rule weight
@RM::Rule.new weight
end
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
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
Shortcut for RDoc::Markup::Verbatim.new with parts
# File rdoc/test_case.rb, line 185
def verb *parts
@RM::Verbatim.new(*parts)
end
Creates an
RDoc::Commentwithtextwhich was defined ontop_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