Class: Actir::ParallelTests::HtmlFormatter

Inherits:
Object
  • Object
show all
Includes:
ERB::Util
Defined in:
lib/actir/parallel_tests/report/html_formatter.rb

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ HtmlFormatter

Returns a new instance of HtmlFormatter.



8
9
10
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 8

def initialize(file)
  @file = file
end

Instance Method Details

#flushObject



93
94
95
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 93

def flush
  @file.flush
end

#make_testsuite_header_red(testsuite_id) ⇒ Object



86
87
88
89
90
91
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 86

def make_testsuite_header_red(testsuite_id)
  @file.puts "    <script type=\"text/javascript\">" \
               "makeRed('div_testsuite_#{testsuite_id}');</script>"
  @file.puts "    <script type=\"text/javascript\">" \
               "makeRed('testsuite_#{testsuite_id}');</script>"
end


12
13
14
15
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 12

def print_html_start
  @file.puts HTML_HEADER
  @file.puts REPORT_HEADER
end

#class_full_name = temp.split(“/”)

#class_name = class_full_name[class_full_name.length - 1].split(".")[0].camelize
@file.puts "    <dd class=\"testcase failed\">"
@file.puts "      <span class=\"failed_spec_name\">[Testcase]: #{h(testcase_name)}</span>"
@file.puts "      <div id=\"testtab_#{failure_number}\" style=\"float:right\"><a class=\"expand\" href=\"#\" onClick=\"Effect('failure_#{failure_number}',this.parentNode.id);\" >+</a> </div>"
@file.puts "      <div class=\"failure\" id=\"failure_#{failure_number}\" style=\"display:none;\">"
@file.puts "        <div class=\"backtrace\"><pre>#{h(backtrace)}</pre> <h6>Failure Screenshots:<h6><img src=\"#{screenshots_path}/FAILED_#{method_name}(#{class_name}).png\" onerror=\"javascript:this.src='#'\" hight=\"700\" width=\"800\"></div>"
@file.puts "      </div>"
@file.puts "    </dd>"

end



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 69

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 "<script type=\"text/javascript\">" \
  #   "document.getElementById('duration').innerHTML = \"Finished in " \
  #   "<strong>#{formatted_duration} seconds</strong>\";</script>"
  @file.puts "<script type=\"text/javascript\">" \
    "document.getElementById('totals').innerHTML = \"#{totals}\";</script>"
  @file.puts "</div>"
  @file.puts "</div>"
  @file.puts "</body>"
  @file.puts "</html>"
end


35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 35

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 "    <dd class=\"testcase failed\">"
  @file.puts "      <span class=\"failed_spec_name\">[Testcase]: #{h(testcase_name)}</span>"
  @file.puts "      <div id=\"testtab_#{failure_number}\" style=\"float:right\"><a class=\"expand\" href=\"#\" onClick=\"Effect('failure_#{failure_number}',this.parentNode.id);\" >+</a> </div>"
  @file.puts "      <div class=\"failure\" id=\"failure_#{failure_number}\" style=\"display:none;\">"
  @file.puts "        <div class=\"backtrace\"><pre>#{h(backtrace)}</pre> <h6>Failure Screenshots:<h6><img src=\"../ws/screenshots/FAILED_#{method_name}(#{class_name}).png\" onerror=\"javascript:this.src='../../ws/screenshots/FAILED_#{method_name}(#{class_name}).png'\" hight=\"700\" width=\"800\"></div>"
  @file.puts "      </div>"
  @file.puts "    </dd>"
end


29
30
31
32
33
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 29

def print_testcase_passed(testcase_name)
  @file.puts "    <dd class=\"testcase passed\">"
  @file.puts "      <span class=\"passed_spec_name\">[Testcase]: #{h(testcase_name)}</span>"
  @file.puts "    </dd>"
end


24
25
26
27
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 24

def print_testsuite_end
  @file.puts "  </dl>"
  @file.puts "</div>"
end


18
19
20
21
22
# File 'lib/actir/parallel_tests/report/html_formatter.rb', line 18

def print_testsuite_start(testsuite_id, testsuite_name)
  @file.puts "<div id=\"div_testsuite_#{testsuite_id}\" class=\"testsuite passed\">"
  @file.puts "  <dl>"
  @file.puts "    <dt id=\"testsuite_#{testsuite_id}\" class=\"passed\">[Testsuite]: #{h(testsuite_name)}</dt>"
end