Sha256: e2ae29d292eea6a172672627893c90a09a131cc1a85b11ff907455cebea94ea5
Contents?: true
Size: 1.5 KB
Versions: 4
Compression:
Stored size: 1.5 KB
Contents
require 'tempfile' require 'stringio' require 'minitest/autorun' class Minitest::Test def clean s s.gsub(/^ {6}/, '') end end class MetaMetaMetaTestCase < Minitest::Test attr_accessor :reporter, :output, :tu def run_tu_with_fresh_reporter flags = %w[--seed 42] options = Minitest.process_args flags @output = StringIO.new("") self.reporter = Minitest::Reporter.new @output, options reporter.start @tus ||= [@tu] @tus.each do |tu| Minitest::Runnable.runnables.delete tu tu.run reporter, options end reporter.report end def assert_report expected, flags = %w[--seed 42] header = clean <<-EOM Run options: #{flags.map { |s| s =~ /\|/ ? s.inspect : s }.join " "} # Running: EOM run_tu_with_fresh_reporter flags output = normalize_output @output.string.dup assert_equal header + expected, output end def normalize_output output output.sub!(/Finished in .*/, "Finished in 0.00") output.sub!(/Loaded suite .*/, 'Loaded suite blah') output.gsub!(/ = \d+.\d\d s = /, ' = 0.00 s = ') output.gsub!(/0x[A-Fa-f0-9]+/, '0xXXX') if windows? then output.gsub!(/\[(?:[A-Za-z]:)?[^\]:]+:\d+\]/, '[FILE:LINE]') output.gsub!(/^(\s+)(?:[A-Za-z]:)?[^:]+:\d+:in/, '\1FILE:LINE:in') else output.gsub!(/\[[^\]:]+:\d+\]/, '[FILE:LINE]') output.gsub!(/^(\s+)[^:]+:\d+:in/, '\1FILE:LINE:in') end output end def setup super srand 42 Minitest::Test.reset @tu = nil end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
minitest-5.0.3 | test/minitest/metametameta.rb |
minitest-5.0.2 | test/minitest/metametameta.rb |
minitest-5.0.1 | test/minitest/metametameta.rb |
minitest-5.0.0 | test/minitest/metametameta.rb |