diff options
Diffstat (limited to 'test/minitest/metametameta.rb')
-rw-r--r-- | test/minitest/metametameta.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/minitest/metametameta.rb b/test/minitest/metametameta.rb new file mode 100644 index 0000000000..4352cfee82 --- /dev/null +++ b/test/minitest/metametameta.rb @@ -0,0 +1,49 @@ +# encoding: utf-8 +###################################################################### +# This file is imported from the minitest project. +# DO NOT make modifications in this repo. They _will_ be reverted! +# File a patch instead and assign it to Ryan Davis. +###################################################################### + +require 'tempfile' +require 'stringio' +require 'minitest/autorun' + +class MetaMetaMetaTestCase < MiniTest::Unit::TestCase + def assert_report expected = nil + expected ||= <<-EOM.gsub(/^ {6}/, '') + Run options: --seed 42 + + # Running tests: + + . + + Finished tests in 0.00 + + 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips + EOM + + output = @output.string.dup + output.sub!(/Finished tests in .*/, "Finished tests in 0.00") + output.sub!(/Loaded suite .*/, 'Loaded suite blah') + output.gsub!(/\[[^\]:]+:\d+\]/, '[FILE:LINE]') + output.gsub!(/^(\s+)[^:]+:\d+:in/, '\1FILE:LINE:in') + assert_equal(expected, output) + end + + def setup + super + srand 42 + MiniTest::Unit::TestCase.reset + @tu = MiniTest::Unit.new + @output = StringIO.new("") + MiniTest::Unit.runner = nil # protect the outer runner from the inner tests + MiniTest::Unit.output = @output + end + + def teardown + super + MiniTest::Unit.output = $stdout + Object.send :remove_const, :ATestCase if defined? ATestCase + end +end |