dwf/rva: refactor reporter abstract and jasmine into three distinct report functions for specs, suites, and runners.

This commit is contained in:
pivotal
2008-12-05 17:33:35 -08:00
parent 665c3e9f33
commit 1450eb5b65
3 changed files with 50 additions and 42 deletions

View File

@@ -204,8 +204,7 @@ var it = function (description, func) {
finishCallback: function () {
if (Jasmine.reporter) {
Jasmine.reporter.addSpecResults(that.results);
Jasmine.reporter.report();
Jasmine.reporter.reportSpecResults(that.results);
}
},
@@ -278,6 +277,12 @@ var describe = function (description, spec_definitions) {
that.results.description = description;
that.finishCallback = function () {
if (Jasmine.reporter) {
Jasmine.reporter.reportSuiteResults(that.results);
}
}
return that;
}
@@ -289,8 +294,7 @@ var Runner = function () {
that.finishCallback = function () {
if (that.reporter) {
that.reporter.addResults(that.results);
that.reporter.report();
that.reporter.reportRunnerResults(that.results);
}
}
@@ -309,16 +313,12 @@ JasmineReporters.reporter = function (elementId) {
element: document.getElementById(elementId),
output: '',
addResults: function (results) { that.output = ''; },
reportRunnerResults: function (results) { that.output += ''; },
addSpecResults: function (results) { that.output = ''; },
reportSuiteResults: function (results) { that.output += ''; },
reportSpecResults: function (results) { that.output += ''; },
report: function () {
if (that.element) {
that.element.innerHTML += that.output;
}
return that.output;
}
}
// TODO: throw if no element?

View File

@@ -1,9 +1,13 @@
JasmineReporters.JSON = function (elementId) {
var that = JasmineReporters.reporter(elementId);
that.addResults = function (results) {
that.reportRunnerResults = function (results) {
that.output = Object.toJSON(results);
}
if (that.element) {
that.element.innerHTML += that.output;
}
}
return that;
}
@@ -11,9 +15,13 @@ JasmineReporters.JSON = function (elementId) {
JasmineReporters.IncrementalJSON = function (elementId) {
var that = JasmineReporters.reporter(elementId);
that.addSpecResults = function (results) {
that.reportSpecResults = function (results) {
that.output = Object.toJSON(results);
if (that.element) {
that.element.innerHTML += that.output;
}
}
return that;
}
}