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
74 75 76 |
# File 'lib/rdoc/test_case.rb', line 74 def assert_directory path assert File.directory?(path), "#{path} is not a directory" end |
#assert_file(path) ⇒ Object
Asserts path
is a file
67 68 69 |
# File 'lib/rdoc/test_case.rb', line 67 def assert_file path assert File.file?(path), "#{path} is not a file" end |
#blank_line ⇒ Object
Shortcut for RDoc::Markup::BlankLine.new
88 89 90 |
# File 'lib/rdoc/test_case.rb', line 88 def blank_line @RM::BlankLine.new end |
#block(*contents) ⇒ Object
Shortcut for RDoc::Markup::BlockQuote.new with contents
95 96 97 |
# File 'lib/rdoc/test_case.rb', line 95 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.
103 104 105 |
# File 'lib/rdoc/test_case.rb', line 103 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
110 111 112 |
# File 'lib/rdoc/test_case.rb', line 110 def doc *contents @RM::Document.new(*contents) end |
#hard_break ⇒ Object
Shortcut for RDoc::Markup::HardBreak.new
117 118 119 |
# File 'lib/rdoc/test_case.rb', line 117 def hard_break @RM::HardBreak.new end |
#head(level, text) ⇒ Object
Shortcut for RDoc::Markup::Heading.new with level
and text
124 125 126 |
# File 'lib/rdoc/test_case.rb', line 124 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
131 132 133 |
# File 'lib/rdoc/test_case.rb', line 131 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
138 139 140 |
# File 'lib/rdoc/test_case.rb', line 138 def list type = nil, *items @RM::List.new type, *items end |
#mu_pp(obj) ⇒ Object
Enables pretty-print output
145 146 147 148 149 150 |
# File 'lib/rdoc/test_case.rb', line 145 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
155 156 157 |
# File 'lib/rdoc/test_case.rb', line 155 def para *a @RM::Paragraph.new(*a) end |
#raw(*contents) ⇒ Object
Shortcut for RDoc::Markup::Raw.new with contents
169 170 171 |
# File 'lib/rdoc/test_case.rb', line 169 def raw *contents @RM::Raw.new(*contents) end |
#refute_file(path) ⇒ Object
Refutes path
exists
81 82 83 |
# File 'lib/rdoc/test_case.rb', line 81 def refute_file path refute File.exist?(path), "#{path} exists" end |
#rule(weight) ⇒ Object
Shortcut for RDoc::Markup::Rule.new with weight
162 163 164 |
# File 'lib/rdoc/test_case.rb', line 162 def rule weight @RM::Rule.new weight end |
#setup ⇒ Object
Abstract test-case setup
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/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. = 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
179 180 181 182 183 184 185 186 187 |
# File 'lib/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 |
#verb(*parts) ⇒ Object
Shortcut for RDoc::Markup::Verbatim.new with parts
192 193 194 |
# File 'lib/rdoc/test_case.rb', line 192 def verb *parts @RM::Verbatim.new(*parts) end |
#verbose_capture_io ⇒ Object
run capture_io with setting $VERBOSE = true
199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/rdoc/test_case.rb', line 199 def verbose_capture_io capture_io do begin orig_verbose = $VERBOSE $VERBOSE = true yield ensure $VERBOSE = orig_verbose end end end |