Class: MinitestBender::Results::Test

Inherits:
Base
  • Object
show all
Defined in:
lib/minitest-bender/results/test.rb

Constant Summary

Constants inherited from Base

Base::NAME_PREFIX

Instance Attribute Summary

Attributes inherited from Base

#execution_order, #state

Instance Method Summary collapse

Methods inherited from Base

#context, #file_path, #formatted_label, #formatted_label_and_time, #formatted_message, #formatted_name_with_context, #formatted_time, #name_sort_key, #rerun_line, #source_line_number, #source_location, #time_with_unit_and_padding_right, #to_icon

Constructor Details

#initialize(minitest_result, raw_name) ⇒ Test



4
5
6
7
# File 'lib/minitest-bender/results/test.rb', line 4

def initialize(minitest_result, raw_name)
  super(minitest_result)
  @raw_name = raw_name
end

Instance Method Details

#formatted_number(sorted_siblings = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/minitest-bender/results/test.rb', line 9

def formatted_number(sorted_siblings = nil)
  return '' if sorted_siblings.nil?

  number = sorted_siblings.find_index do |result|
    result.source_line_number > source_line_number
  end || sorted_siblings.size
  # this is never 0 because sorted_siblings includes self

  padded_number = number.to_s.rjust(4, '0')

  " #{Colorizer.colorize(padded_number, :number)} "
end

#nameObject



26
27
28
29
30
31
32
33
34
# File 'lib/minitest-bender/results/test.rb', line 26

def name
  @name ||= begin
    words = raw_name.split('_')
    words = words.drop(1) if words.first == 'that'
    words.first.capitalize!
    words.last.gsub!(/([a-zA-Z])(\d+)$/, '\1 \2')
    words.join(' ')
  end
end

#number_sort_keyObject



22
23
24
# File 'lib/minitest-bender/results/test.rb', line 22

def number_sort_key
  source_line_number
end