Class: RDoc::TestCase
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
MiniTest::Unit::TestCase
|
|
|
Instance Chain:
self,
MiniTest::Unit::TestCase
|
|
| Inherits: |
MiniTest::Unit::TestCase
|
| Defined in: | lib/rdoc/test_case.rb |
Overview
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
@RMalias of Markup (for less typing) -
@pwdcontaining the current working directory -
FileUtils, pp, Tempfile,
Dir.tmpdirand StringIO
Instance Method Summary
-
#assert_directory(path)
Asserts
pathis a directory. -
#assert_file(path)
Asserts
pathis a file. -
#blank_line
Shortcut for Markup::BlankLine.new
-
#block(*contents)
Shortcut for
RDoc::Markup::BlockQuote.newwithcontents -
#comment(text, top_level = @top_level)
Creates an Comment with
textwhich was defined ontop_level. -
#doc(*contents)
Shortcut for Markup::Document.new with
contents -
#hard_break
Shortcut for Markup::HardBreak.new
-
#head(level, text)
Shortcut for
RDoc::Markup::Heading.newwithlevelandtext -
#item(label = nil, *parts)
Shortcut for Markup::ListItem.new with
labelandparts -
#list(type = nil, *items)
Shortcut for Markup::List.new with
typeanditems -
#para(*a)
Shortcut for
RDoc::Markup::Paragraph.newwithcontents -
#raw(*contents)
Shortcut for Markup::Raw.new with
contents -
#refute_file(path)
Refutes
pathexists. -
#rule(weight)
Shortcut for
RDoc::Markup::Rule.newwithweight -
#setup
Abstract test-case setup.
-
#temp_dir
Creates a temporary directory changes the current directory to it for the duration of the block.
-
#verb(*parts)
Shortcut for Markup::Verbatim.new with
parts -
#verbose_capture_io
run capture_io with setting $VERBOSE = true.
Instance Method Details
#assert_directory(path)
Asserts path is a directory
# File 'lib/rdoc/test_case.rb', line 73
def assert_directory path assert File.directory?(path), "#{path} is not a directory" end
#assert_file(path)
Asserts path is a file
# File 'lib/rdoc/test_case.rb', line 66
def assert_file path assert File.file?(path), "#{path} is not a file" end
#blank_line
Shortcut for Markup::BlankLine.new
# File 'lib/rdoc/test_case.rb', line 87
def blank_line @RM::BlankLine.new end
#block(*contents)
Shortcut for RDoc::Markup::BlockQuote.new with contents
# File 'lib/rdoc/test_case.rb', line 94
def block *contents @RM::BlockQuote.new(*contents) end
#comment(text, top_level = @top_level)
Creates an Comment with text which was defined on top_level. By default the comment has the 'rdoc' format.
#doc(*contents)
Shortcut for Markup::Document.new with contents
# File 'lib/rdoc/test_case.rb', line 109
def doc *contents @RM::Document.new(*contents) end
#hard_break
Shortcut for Markup::HardBreak.new
# File 'lib/rdoc/test_case.rb', line 116
def hard_break @RM::HardBreak.new end
#head(level, text)
Shortcut for RDoc::Markup::Heading.new with level and text
# File 'lib/rdoc/test_case.rb', line 123
def head level, text @RM::Heading.new level, text end
#item(label = nil, *parts)
Shortcut for Markup::ListItem.new with label and parts
# File 'lib/rdoc/test_case.rb', line 130
def item label = nil, *parts @RM::ListItem.new label, *parts end
#list(type = nil, *items)
Shortcut for Markup::List.new with type and items
# File 'lib/rdoc/test_case.rb', line 137
def list type = nil, *items @RM::List.new type, *items end
#para(*a)
Shortcut for RDoc::Markup::Paragraph.new with contents
# File 'lib/rdoc/test_case.rb', line 154
def para *a @RM::Paragraph.new(*a) end
#raw(*contents)
Shortcut for Markup::Raw.new with contents
# File 'lib/rdoc/test_case.rb', line 168
def raw *contents @RM::Raw.new(*contents) end
#refute_file(path)
Refutes path exists
# File 'lib/rdoc/test_case.rb', line 80
def refute_file path refute File.exist?(path), "#{path} exists" end
#rule(weight)
Shortcut for RDoc::Markup::Rule.new with weight
# File 'lib/rdoc/test_case.rb', line 161
def rule weight @RM::Rule.new weight end
#setup
Abstract test-case setup
# File 'lib/rdoc/test_case.rb', line 38
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. = RDoc::Options.new g = Object.new def g.class_dir() end def g.file_dir() end @rdoc.generator = g end
#temp_dir
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 178
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
#verb(*parts)
Shortcut for Markup::Verbatim.new with parts
# File 'lib/rdoc/test_case.rb', line 191
def verb *parts @RM::Verbatim.new(*parts) end
#verbose_capture_io
run capture_io with setting $VERBOSE = true
# File 'lib/rdoc/test_case.rb', line 198
def verbose_capture_io capture_io do begin orig_verbose = $VERBOSE $VERBOSE = true yield ensure $VERBOSE = orig_verbose end end end