diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-09-01 08:40:53 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-09-01 08:40:53 +0000 |
commit | ee9e8f82d4baccd90e82d8a0acd75001aa495b0f (patch) | |
tree | 9880659dfdca88b8e2d247d01fbd64a01cab9573 /lib/minitest/unit.rb | |
parent | 09fb7189ec8b886b356618274b6b7b5bcc4aebe8 (diff) | |
download | ruby-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.rb | 41 |
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... |