spec/spec_helper.rb in sippy_cup-0.6.0 vs spec/spec_helper.rb in sippy_cup-0.7.0

- old
+ new

@@ -1,17 +1,54 @@ # encoding: utf-8 %w{ sippy_cup fakefs/spec_helpers + tempfile }.each { |f| require f } +module SippyCup + module SpecHelpers + def capture(stream) + stream = stream.to_s + captured_stream = Tempfile.new(stream) + stream_io = eval("$#{stream}") + origin_stream = stream_io.dup + stream_io.reopen(captured_stream) + + yield + + stream_io.rewind + return captured_stream.read + ensure + captured_stream.close + captured_stream.unlink + stream_io.reopen(origin_stream) + end + + def silence_stream(stream) + old_stream = stream.dup + stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null') + stream.sync = true + yield + ensure + stream.reopen(old_stream) + old_stream.close + end + end +end + RSpec.configure do |config| + config.include SippyCup::SpecHelpers config.mock_framework = :rspec config.filter_run :focus => true config.run_all_when_everything_filtered = true config.color = true config.around(:each) do |example| - quietly { example.run } + silence_stream(STDOUT) do + silence_stream(STDERR) do + example.run + end + end end end