class HtmlFormatter

Public Instance Methods

after(state) click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 53
def after(state)
  print %Q[<li class="pass">- #{state.it}</li>\n] unless exception?
end
enter(describe) click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 38
def enter(describe)
  print "<div><p>#{describe}</p>\n<ul>\n"
end
escape(string) click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 78
def escape(string)
  string.gsub("&", "&nbsp;").gsub("<", "&lt;").gsub(">", "&gt;")
end
exception(exception) click to toggle source
Calls superclass method DottedFormatter#exception
# File lib/mspec/runner/formatters/html.rb, line 46
def exception(exception)
  super
  outcome = exception.failure? ? "FAILED" : "ERROR"
  print %Q[<li class="fail">- #{exception.it} (<a href="#details-#{@count}">]
  print %Q[#{outcome} - #{@count}</a>)</li>\n]
end
finish() click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 57
def finish
  success = @exceptions.empty?
  unless success
    print "<hr>\n"
    print %Q[<ol id="details">]
    count = 0
    @exceptions.each do |exc|
      outcome = exc.failure? ? "FAILED" : "ERROR"
      print %Q[\n<li id="details-#{count += 1}"><p>#{escape(exc.description)} #{outcome}</p>\n<p>]
      print escape(exc.message)
      print "</p>\n<pre>\n"
      print escape(exc.backtrace)
      print "</pre>\n</li>\n"
    end
    print "</ol>\n"
  end
  print %Q[<p>#{@timer.format}</p>\n]
  print %Q[<p class="#{success ? "pass" : "fail"}">#{@tally.format}</p>\n]
  print "</body>\n</html>\n"
end
leave() click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 42
def leave
  print "</ul>\n</div>\n"
end
register() click to toggle source
Calls superclass method DottedFormatter#register
# File lib/mspec/runner/formatters/html.rb, line 5
def register
  super
  MSpec.register :start, self
  MSpec.register :enter, self
  MSpec.register :leave, self
end
start() click to toggle source
# File lib/mspec/runner/formatters/html.rb, line 12
  def start
    print <<-EOH
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Spec Output For #{RUBY_NAME} (#{RUBY_VERSION})</title>
<style type="text/css">
ul {
  list-style: none;
}
.fail {
  color: red;
}
.pass {
  color: green;
}
#details :target {
  background-color: #ffffe0;
}
</style>
</head>
<body>
EOH
  end