aboutsummaryrefslogtreecommitdiffstats
path: root/lib/minitest/unit.rb
diff options
context:
space:
mode:
authorryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-01 08:40:53 +0000
committerryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-01 08:40:53 +0000
commitee9e8f82d4baccd90e82d8a0acd75001aa495b0f (patch)
tree9880659dfdca88b8e2d247d01fbd64a01cab9573 /lib/minitest/unit.rb
parent09fb7189ec8b886b356618274b6b7b5bcc4aebe8 (diff)
downloadruby-ee9e8f82d4baccd90e82d8a0acd75001aa495b0f.tar.gz
Imported minitest 1.7.1 r5835
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/minitest/unit.rb')
-rw-r--r--lib/minitest/unit.rb41
1 files changed, 36 insertions, 5 deletions
diff --git a/lib/minitest/unit.rb b/lib/minitest/unit.rb
index 3e038c818f..c45dec3fc4 100644
--- a/lib/minitest/unit.rb
+++ b/lib/minitest/unit.rb
@@ -195,6 +195,24 @@ module MiniTest
end
##
+ # Fails if stdout or stderr do not output the expected results.
+ # Pass in nil if you don't care about that streams output. Pass in
+ # "" if you require it to be silent.
+ #
+ # See also: #assert_silent
+
+ def assert_output stdout = nil, stderr = nil
+ out, err = capture_io do
+ yield
+ end
+
+ x = assert_equal stdout, out, "In stdout" if stdout
+ y = assert_equal stderr, err, "In stderr" if stderr
+
+ (!stdout || x) && (!stderr || y)
+ end
+
+ ##
# Fails unless the block raises one of +exp+
def assert_raises *exp
@@ -252,6 +270,17 @@ module MiniTest
end
##
+ # Fails if the block outputs anything to stderr or stdout.
+ #
+ # See also: #assert_output
+
+ def assert_silent
+ assert_output "", "" do
+ yield
+ end
+ end
+
+ ##
# Fails unless the block throws +sym+
def assert_throws sym, msg = nil
@@ -474,7 +503,7 @@ module MiniTest
end
class Unit
- VERSION = "1.6.0" # :nodoc:
+ VERSION = "1.7.1" # :nodoc:
attr_accessor :report, :failures, :errors, :skips # :nodoc:
attr_accessor :test_count, :assertion_count # :nodoc:
@@ -588,6 +617,12 @@ module MiniTest
srand seed
+ help = ["--seed", seed]
+ help.push "--verbose" if @verbose
+ help.push("--name", options[:filter].inspect) if options[:filter]
+
+ @@out.puts "Test run options: #{help.join(" ")}"
+ @@out.puts
@@out.puts "Loaded suite #{$0.sub(/\.rb$/, '')}\nStarted"
start = Time.now
@@ -606,10 +641,6 @@ module MiniTest
@@out.puts
- help = ["--seed", seed]
- help.push "--verbose" if @verbose
- help.push("--name", options[:filter].inspect) if options[:filter]
-
@@out.puts "Test run options: #{help.join(" ")}"
return failures + errors if @test_count > 0 # or return nil...