58: def finish
59: success = @exceptions.empty?
60: unless success
61: print "<hr>\n"
62: print %[<ol id="details">]
63: count = 0
64: @exceptions.each do |exc|
65: outcome = exc.failure? ? "FAILED" : "ERROR"
66: print %[\n<li id="details-#{count += 1}"><p>#{escape(exc.description)} #{outcome}</p>\n<p>]
67: print escape(exc.message)
68: print "</p>\n<pre>\n"
69: print escape(exc.backtrace)
70: print "</pre>\n</li>\n"
71: end
72: print "</ol>\n"
73: end
74: print %[<p>#{@timer.format}</p>\n]
75: print %[<p class="#{success ? "pass" : "fail"}">#{@tally.format}</p>\n]
76: print "</body>\n</html>\n"
77: end