class MinitestBender::ResultFactory

Constants

ANONYMOUS
RESULT_NAME_REGEXP

Attributes

minitest_result[R]

Public Instance Methods

create(minitest_result) click to toggle source
# File lib/minitest-bender/result_factory.rb, line 6
def create(minitest_result)
  result_number = number(minitest_result)
  result_name = name(minitest_result)
  if result_number.empty?
    Results::Test.new(minitest_result, result_name)
  else
    Results::Expectation.new(minitest_result, result_number, result_name)
  end
end

Private Instance Methods

name(minitest_result) click to toggle source
# File lib/minitest-bender/result_factory.rb, line 24
def name(minitest_result)
  (parsed_name(minitest_result)[:name] || ANONYMOUS).strip
end
number(minitest_result) click to toggle source
# File lib/minitest-bender/result_factory.rb, line 20
def number(minitest_result)
  parsed_name(minitest_result)[:number]
end
parsed_name(minitest_result) click to toggle source
# File lib/minitest-bender/result_factory.rb, line 28
def parsed_name(minitest_result)
  if minitest_result.name.is_a?(Class)
    # something went wrong inside minitest (infinite loop?)
    raise minitest_result.failures[0].error
  end

  minitest_result.name.match(RESULT_NAME_REGEXP)
end