class MinitestBender::States::Raising

Constants

COLOR
GROUP_LABEL
ICON
LABEL

Public Instance Methods

formatted_message(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 12
def formatted_message(result)
  colored(Utils.first_line(error_message(result)))
end
summary_message() click to toggle source
# File lib/minitest-bender/states/raising.rb, line 16
def summary_message
  return '' if results.empty?
  colored("#{results.size} raised an error")
end
test_location(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 21
def test_location(result)
  Utils.relative_path(result.file_path)
end

Private Instance Methods

backtrace(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 43
def backtrace(result)
  case backtrace_view
  when :user
    user_backtrace(result)
  when :full
    full_backtrace(result)
  else
    raise "unknown backtrace view: #{backtrace_view}"
  end
end
backtrace_view() click to toggle source
# File lib/minitest-bender/states/raising.rb, line 54
def backtrace_view
  Minitest::Bender.configuration.backtrace_view
end
error_message(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 38
def error_message(result)
  error = result.failures[0].error
  "#{error.class}: #{error.message}"
end
full_backtrace(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 64
def full_backtrace(result)
  result.failures[0].backtrace || []
end
inner_detail_lines(result, padding) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 27
def inner_detail_lines(result, padding)
  lines = []
  message = colored(error_message(result))
  lines << "#{padding}#{message.gsub("\n", "\n#{padding}")}"
  backtrace(result).each do |line|
    adjusted_line = Utils.with_home_shorthand(line)
    lines << "#{padding}#{Colorizer.colorize(adjusted_line, :backtrace)}"
  end
  lines
end
user_backtrace(result) click to toggle source
# File lib/minitest-bender/states/raising.rb, line 58
def user_backtrace(result)
  full_backtrace(result).take_while do |line|
    line !~ %r{minitest/test\.rb}
  end
end