Class: RDoc::TestCase
- Inherits:
-
MiniTest::Unit::TestCase
- Object
- MiniTest::Unit::TestCase
- RDoc::TestCase
- Defined in:
- lib/rdoc/test_case.rb
Overview
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
Direct Known Subclasses
Instance Method Summary collapse
-
#assert_directory(path) ⇒ Object
Asserts
path
is a directory. -
#assert_file(path) ⇒ Object
Asserts
path
is a file. -
#blank_line ⇒ Object
Shortcut for RDoc::Markup::BlankLine.new.
-
#block(*contents) ⇒ Object
Shortcut for RDoc::Markup::BlockQuote.new with
contents
. -
#comment(text, top_level = @top_level) ⇒ Object
Creates an RDoc::Comment with
text
which was defined ontop_level
. -
#doc(*contents) ⇒ Object
Shortcut for RDoc::Markup::Document.new with
contents
. -
#hard_break ⇒ Object
Shortcut for RDoc::Markup::HardBreak.new.
-
#head(level, text) ⇒ Object
Shortcut for RDoc::Markup::Heading.new with
level
andtext
. -
#item(label = nil, *parts) ⇒ Object
Shortcut for RDoc::Markup::ListItem.new with
label
andparts
. -
#list(type = nil, *items) ⇒ Object
Shortcut for RDoc::Markup::List.new with
type
anditems
. -
#mu_pp(obj) ⇒ Object
Enables pretty-print output.
-
#para(*a) ⇒ Object
Shortcut for RDoc::Markup::Paragraph.new with
contents
. -
#raw(*contents) ⇒ Object
Shortcut for RDoc::Markup::Raw.new with
contents
. -
#refute_file(path) ⇒ Object
Refutes
path
exists. -
#rule(weight) ⇒ Object
Shortcut for RDoc::Markup::Rule.new with
weight
. -
#setup ⇒ Object
Abstract test-case setup.
-
#temp_dir ⇒ Object
Creates a temporary directory changes the current directory to it for the duration of the block.
-
#verb(*parts) ⇒ Object
Shortcut for RDoc::Markup::Verbatim.new with
parts
. -
#verbose_capture_io ⇒ Object
run capture_io with setting $VERBOSE = true.
Instance Method Details
#assert_directory(path) ⇒ Object
Asserts path
is a directory
73 74 75 |
# 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) ⇒ Object
Asserts path
is a file
66 67 68 |
# File 'lib/rdoc/test_case.rb', line 66 def assert_file path assert File.file?(path), "#{path} is not a file" end |
#blank_line ⇒ Object
Shortcut for RDoc::Markup::BlankLine.new
87 88 89 |
# File 'lib/rdoc/test_case.rb', line 87 def blank_line @RM::BlankLine.new end |
#block(*contents) ⇒ Object
Shortcut for RDoc::Markup::BlockQuote.new with contents
94 95 96 |
# File 'lib/rdoc/test_case.rb', line 94 def block *contents @RM::BlockQuote.new(*contents) end |
#comment(text, top_level = @top_level) ⇒ Object
Creates an RDoc::Comment with text
which was defined on top_level
. By default the comment has the ‘rdoc’ format.
102 103 104 |
# File 'lib/rdoc/test_case.rb', line 102 def comment text, top_level = @top_level RDoc::Comment.new text, top_level end |
#doc(*contents) ⇒ Object
Shortcut for RDoc::Markup::Document.new with contents
109 110 111 |
# File 'lib/rdoc/test_case.rb', line 109 def doc *contents @RM::Document.new(*contents) end |
#hard_break ⇒ Object
Shortcut for RDoc::Markup::HardBreak.new
116 117 118 |
# File 'lib/rdoc/test_case.rb', line 116 def hard_break @RM::HardBreak.new end |
#head(level, text) ⇒ Object
Shortcut for RDoc::Markup::Heading.new with level
and text
123 124 125 |
# File 'lib/rdoc/test_case.rb', line 123 def head level, text @RM::Heading.new level, text end |
#item(label = nil, *parts) ⇒ Object
Shortcut for RDoc::Markup::ListItem.new with label
and parts
130 131 132 |
# File 'lib/rdoc/test_case.rb', line 130 def item label = nil, *parts @RM::ListItem.new label, *parts end |
#list(type = nil, *items) ⇒ Object
Shortcut for RDoc::Markup::List.new with type
and items
137 138 139 |
# File 'lib/rdoc/test_case.rb', line 137 def list type = nil, *items @RM::List.new type, *items end |
#mu_pp(obj) ⇒ Object
Enables pretty-print output
144 145 146 147 148 149 |
# File 'lib/rdoc/test_case.rb', line 144 def mu_pp obj # :nodoc: s = '' s = PP.pp obj, s s = s.force_encoding Encoding.default_external if defined? Encoding s.chomp end |
#para(*a) ⇒ Object
Shortcut for RDoc::Markup::Paragraph.new with contents
154 155 156 |
# File 'lib/rdoc/test_case.rb', line 154 def para *a @RM::Paragraph.new(*a) end |
#raw(*contents) ⇒ Object
Shortcut for RDoc::Markup::Raw.new with contents
168 169 170 |
# File 'lib/rdoc/test_case.rb', line 168 def raw *contents @RM::Raw.new(*contents) end |
#refute_file(path) ⇒ Object
Refutes path
exists
80 81 82 |
# File 'lib/rdoc/test_case.rb', line 80 def refute_file path refute File.exist?(path), "#{path} exists" end |
#rule(weight) ⇒ Object
Shortcut for RDoc::Markup::Rule.new with weight
161 162 163 |
# File 'lib/rdoc/test_case.rb', line 161 def rule weight @RM::Rule.new weight end |
#setup ⇒ Object
Abstract test-case setup
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# 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 ⇒ Object
Creates a temporary directory changes the current directory to it for the duration of the block.
Depends upon Dir.mktmpdir
178 179 180 181 182 183 184 185 186 |
# 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) ⇒ Object
Shortcut for RDoc::Markup::Verbatim.new with parts
191 192 193 |
# File 'lib/rdoc/test_case.rb', line 191 def verb *parts @RM::Verbatim.new(*parts) end |
#verbose_capture_io ⇒ Object
run capture_io with setting $VERBOSE = true
198 199 200 201 202 203 204 205 206 207 208 |
# 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 |