Sha256: 60311065ebcc2d0f4e6c284b72d12ae58e9e6580a1708135150080dcffdf2ab8
Contents?: true
Size: 1.29 KB
Versions: 5
Compression:
Stored size: 1.29 KB
Contents
class Teaspoon.Reporters.HTML.SpecView extends Teaspoon.Reporters.BaseView viewId = 0 constructor: (@spec, @reporter) -> @views = @reporter.views @spec.viewId = viewId += 1 @views.specs[@spec.viewId] = @ super build: -> classes = ["spec"] classes.push("state-pending") if @spec.pending super(classes.join(" ")) @el.innerHTML = """<a href="#{@spec.link}">#{@spec.description}</a>""" @parentView = @buildParent() @parentView.append(@el) buildParent: -> parent = @spec.parent if parent.viewId @views.suites[parent.viewId] else view = new Teaspoon.Reporters.HTML.SuiteView(parent, @reporter) @views.suites[view.suite.viewId] = view buildErrors: -> div = @createEl("div") html = "" for error in @spec.errors() html += """<strong>#{@htmlSafe(error.message)}</strong><br/>#{@htmlSafe(error.stack || "Stack trace unavailable")}""" div.innerHTML = html @append(div) updateState: (state, elapsed) -> result = @spec.result() classes = ["state-#{state}"] classes.push("slow") if elapsed > Teaspoon.slow @el.innerHTML += "<span>#{elapsed}ms</span>" unless state == "failed" @el.className = classes.join(" ") @buildErrors() unless result.status == "passed" @parentView.updateState?(state)
Version data entries
5 entries across 5 versions & 1 rubygems