class JiniTest::Reporter

Constants

MSG_ASSERT_FAILURE

Public Class Methods

new() click to toggle source
# File lib/jinitest.rb, line 34
def initialize
  @count_runs = 0
  @count_assertions = 0
  @count_failures = 0
  @failures = []
end

Public Instance Methods

add_failure(e) click to toggle source
# File lib/jinitest.rb, line 41
def add_failure(e)
  @count_failures += 1
  @failures << e
end
inc_assertions() click to toggle source
# File lib/jinitest.rb, line 50
def inc_assertions
  @count_assertions += 1
end
inc_runs() click to toggle source
# File lib/jinitest.rb, line 46
def inc_runs
  @count_runs += 1
end
render_header() click to toggle source
# File lib/jinitest.rb, line 62
def render_header
  print "# Running:\r\n\r\n"
end
render_statistics() click to toggle source
# File lib/jinitest.rb, line 66
def render_statistics
  print "\r\n"
  print "# Finish:\r\n"
  print "\r\n"
  print render_failures, "\r\n"
  print "\r\n"
  print "#{@count_runs} runs, #{@count_assertions} assertions, #{@count_failures} failures"
  print "\r\n"
end
render_test_failure() click to toggle source
# File lib/jinitest.rb, line 58
def render_test_failure
  print('F')
end
render_test_ok() click to toggle source
# File lib/jinitest.rb, line 54
def render_test_ok
  print('.')
end

Private Instance Methods

parse_failure(failure) click to toggle source
# File lib/jinitest.rb, line 89
def parse_failure(failure)
  place_of_exception = failure.backtrace[1].split(' ')

  info_about_file = place_of_exception[0].split(':')

  {
    method_name: place_of_exception[1].delete('`\''),
    file_path: info_about_file[0],
    line_number: info_about_file[1],
  }
end
render_failures() click to toggle source
# File lib/jinitest.rb, line 78
def render_failures
  text_failures = @failures.map.with_index do |failure, i|
    info = parse_failure(failure)
    header = "#{i}) Failure:"
    body = "#{failure.class_name}##{info[:method_name]} [#{info[:file_path]}:#{info[:line_number]}]:"
    [header, body].join("\r\n")
  end

  text_failures.join("\r\n")
end