%PDF- %PDF-
Direktori : /home/infra/fusioninventory/lib/lazy.js-0.5.1/site/source/javascripts/ |
Current File : //home/infra/fusioninventory/lib/lazy.js-0.5.1/site/source/javascripts/spec_reporter.js |
var SpecReporter = function() { var currentRowId = 0; var rowsBySuiteId = {}; var rowsBySpecId = {}; var rowsBySpecDescription = {}; function getOrCreateRowForSuite(suite) { var row = rowsBySuiteId[suite.id]; if (!row) { var table = $("#test-results-table").removeClass("empty"); row = $("<tr>") .addClass("test-suite") .attr("data-tt-id", currentRowId++); if (suite.parentSuite) { row.attr("data-tt-parent-id", getOrCreateRowForSuite(suite.parentSuite)); } row.appendTo(table); $("<td>").text(suite.description).appendTo(row); $("<td>").appendTo(row); rowsBySuiteId[suite.id] = row; } return row.attr("data-tt-id"); } function addFailureInformation(row, results) { var message = Lazy(results.items_) .reject(function(i) { return i.passed(); }) .map(function(i) { return i.message; }) .toArray() .join("\n"); $("<div>") .text(message) .addClass("failure-information") .appendTo(row.find("td:first-child")); } this.reportSpecStarting = function(spec) { var table = $("#test-results-table"); var suiteRow = getOrCreateRowForSuite(spec.suite); var specRow = $("<tr>").addClass("test-spec").appendTo(table); $("<td>").text(spec.description).appendTo(specRow); $("<td>").appendTo(specRow); specRow.attr("data-tt-id", currentRowId++); specRow.attr("data-tt-parent-id", suiteRow); rowsBySpecId[spec.id] = specRow; rowsBySpecDescription[spec.description] = specRow; }; this.reportSpecResults = function(spec) { var row = rowsBySpecId[spec.id]; if (spec.results().passed()) { row.addClass("success"); } else { row.addClass("failure"); addFailureInformation(row, spec.results()); } }; this.reportSuiteResults = function(suite) { var row = rowsBySuiteId[suite.id]; var style = suite.results().passed() ? "success" : "failure"; row.addClass(style); }; this.reportRunnerResults = function(runner) { $("#test-results-table").treetable({ expandable: true }); $("#test-results-table").treetable("expandAll"); $(".failure-information").each(function() { var indenter = $(this).closest("td").find("span.indenter"); $(this).css("margin-left", parseInt(indenter.css("padding-left"), 10) + 20); }); }; };