require 'erb'
module Actir
module ParallelTests
class HtmlFormatter
include ERB::Util # For the #h method.
def initialize(file)
@file = file
end
def print_html_start
@file.puts HTML_HEADER
@file.puts REPORT_HEADER
end
def print_testsuite_start(testsuite_id, testsuite_name)
@file.puts "
"
@file.puts "
"
@file.puts " - [Testsuite]: #{h(testsuite_name)}
"
end
def print_testsuite_end
@file.puts "
"
@file.puts "
"
end
def print_testcase_passed(testcase_name)
@file.puts " "
@file.puts " [Testcase]: #{h(testcase_name)}"
@file.puts " "
end
def print_testcase_failed(testsuit_name, testcase_name, backtrace, failure_number)
#screenshots_path = File.join($project_path, 'screenshots')
temp = testcase_name.split(":")
class_name = testsuit_name.split(":")[1]
method_name = temp[1]
#class_full_name = temp[0].split("/")
#class_name = class_full_name[class_full_name.length - 1].split(".")[0].camelize
@file.puts " "
@file.puts " [Testcase]: #{h(testcase_name)}"
@file.puts " "
@file.puts " "
@file.puts "
#{h(backtrace)}
Failure Screenshots:
"
@file.puts "
"
@file.puts " "
end
# def print_testcase_failed(testsuit_name, testcase_name, backtrace, failure_number)
# screenshots_path = File.join($project_path, 'screenshots')
# temp = testcase_name.split(":")
# class_name = testsuit_name.split(":")[1]
# method_name = temp[1]
# #class_full_name = temp[0].split("/")
# #class_name = class_full_name[class_full_name.length - 1].split(".")[0].camelize
# @file.puts " "
# @file.puts " [Testcase]: #{h(testcase_name)}"
# @file.puts " "
# @file.puts " "
# @file.puts "
#{h(backtrace)}
Failure Screenshots:
"
# @file.puts "
"
# @file.puts " "
# end
def print_summary(testcase_count, failure_count)
totals = "#{testcase_count} testcase#{'s' unless testcase_count == 1}, "
totals << "#{failure_count} failure#{'s' unless failure_count <= 1 }"
# formatted_duration = "%.5f" % duration
# @file.puts ""
@file.puts ""
@file.puts ""
@file.puts ""
@file.puts "