class Minitest::Reporters::DelegateReporter
def all_reporters
def all_reporters @all_reporters ||= init_all_reporters end
def guard_reporter(reporters)
def guard_reporter(reporters) guards = Array(reporters.detect { |r| r.class.name == "Guard::Minitest::Reporter" }) return guards unless ENV['RM_INFO'] warn 'RM_INFO is set thus guard reporter has been dropped' unless guards.empty? [] end
def init_all_reporters
def init_all_reporters return @reporters unless defined?(Minitest::Reporters.reporters) && Minitest::Reporters.reporters (Minitest::Reporters.reporters + guard_reporter(@reporters)).each do |reporter| reporter.io = @options[:io] if reporter.respond_to?(:add_defaults) reporter.add_defaults(@options.merge(:total_count => total_count(@options))) end end end
def initialize(reporters, options = {})
def initialize(reporters, options = {}) @reporters = reporters @options = options @all_reporters = nil end
def io
def io all_reporters.first.io unless all_reporters.empty? @options[:io] end
def passed?
def passed? all_reporters.all?(&:passed?) end
def prerecord(klass, name)
def prerecord(klass, name) all_reporters.each do |reporter| reporter.prerecord klass, name end end
def record(result)
def record(result) all_reporters.each do |reporter| reporter.record result end end
def report
def report all_reporters.each(&:report) end
def start
def start all_reporters.each(&:start) end
def total_count(options)
def total_count(options) filter = options[:filter] || '/./' filter = Regexp.new $1 if filter =~ /\/(.*)\// Minitest::Runnable.runnables.map { |runnable| runnable.runnable_methods.find_all { |m| filter === m || filter === "#{runnable}##{m}" }.size }.inject(:+) end