class MinitestBender::Results::Base
Constants
- NAME_PREFIX
Attributes
execution_order[R]
minitest_result[R]
state[R]
Public Class Methods
new(minitest_result)
click to toggle source
# File lib/minitest-bender/results/base.rb, line 15 def initialize(minitest_result) @minitest_result = minitest_result @state = MinitestBender.states.fetch(minitest_result.result_code) @execution_order = state.add_result(self).size end
Public Instance Methods
context()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 21 def context @context ||= ResultContext.new(adjusted_class_name) end
file_path()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 74 def file_path @file_path ||= source_location[0] end
formatted_label()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 42 def formatted_label state.formatted_label end
formatted_label_and_time()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 66 def formatted_label_and_time "#{formatted_label} #{formatted_time}" end
formatted_message()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 70 def formatted_message state.formatted_message(self) end
formatted_name_with_context()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 33 def formatted_name_with_context "#{Colorizer.colorize(context, :normal)} #{name_prefix} #{Colorizer.colorize(name, :normal, :bold)}" end
formatted_time()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 62 def formatted_time Colorizer.colorize(time_with_unit_and_padding_right.rjust(6), :time) end
name_sort_key()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 29 def name_sort_key name end
rerun_line(padding)
click to toggle source
# File lib/minitest-bender/results/base.rb, line 37 def rerun_line(padding) unformatted = "Rerun: #{rerun_command}" "#{padding}#{Colorizer.colorize(unformatted, :tests)}" end
source_line_number()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 78 def source_line_number @source_line_number ||= source_location[1] end
source_location()
click to toggle source
credit where credit is due: minitest-line
# File lib/minitest-bender/results/base.rb, line 83 def source_location if minitest_at_least_5_11? minitest_result.source_location else minitest_result.method(minitest_result.name).source_location rescue ['unknown', -1] end end
time_with_unit_and_padding_right()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 46 def time_with_unit_and_padding_right time_in_s = time case time_in_s when 0...1 sprintf('%.0fms ', time_in_s * 1000) when 1...10 sprintf('%.2fs ', time_in_s) when 10...100 sprintf('%.1fs ', time_in_s) when 100...10000 sprintf('%.0fs ', time_in_s) else sprintf('%.0fs', time_in_s) end end
to_icon()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 25 def to_icon state.colored_icon end
Private Instance Methods
adjusted_class_name()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 95 def adjusted_class_name class_name end
class_name()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 99 def class_name if minitest_at_least_5_11? minitest_result.klass else minitest_result.class.name end end
class_separator()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 111 def class_separator CLASS_SEPARATOR end
minitest_at_least_5_11?()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 107 def minitest_at_least_5_11? @minitest_at_least_5_11 ||= Gem.loaded_specs['minitest'].version >= Gem::Version.new('5.11') end
name_prefix()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 115 def name_prefix NAME_PREFIX end
rerun_command()
click to toggle source
# File lib/minitest-bender/results/base.rb, line 119 def rerun_command return unless (relative_location = state.test_location(self)) relative_location = relative_location.split(':').first stem = Minitest::Bender.configuration.rerun_command_stem if stem.include?('rake') "#{stem} TEST=#{relative_location} TESTOPTS=\"--name=#{name_for_rerun_command}\"" else "#{stem} #{relative_location} --name=#{name_for_rerun_command}" end end