class Minitest::LineReporter

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/maxitest/vendor/line.rb, line 89
def initialize(*)
  super
  @failures = []
end

Public Instance Methods

record(result) click to toggle source
# File lib/maxitest/vendor/line.rb, line 94
def record(result)
  if !result.skipped? && !result.passed?
    @failures << result
  end
end
report() click to toggle source
# File lib/maxitest/vendor/line.rb, line 100
def report
  return unless @failures.any?
  io.puts
  io.puts "Focus on failing tests:"
  pwd = Pathname.new(Dir.pwd)
  @failures.each do |res|
    result = (res.respond_to?(:source_location) ? res : res.method(res.name))
    file, line = result.source_location

    if file
      file = Pathname.new(file)
      file = file.relative_path_from(pwd) if file.absolute?
      output = "mtest #{file}:#{line}"
      output = "\e[31m#{output}\e[0m" if $stdout.tty?
      io.puts output
    end
  end
end