Add execution time elapsed to JsApiReporter
Since this information is desired in ConsoleReporter, HtmlReporter, and now JsApiReporter, the executionTime is passed through in jasmineDone from Env instead of making each reporter compute it. Fixes #30, [Finishes #45659879]
This commit is contained in:
@@ -3,8 +3,6 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
var print = options.print,
|
||||
showColors = options.showColors || false,
|
||||
onComplete = options.onComplete || function() {},
|
||||
now = options.now || function() { return new Date().getTime();},
|
||||
startTime = 0,
|
||||
specCount,
|
||||
failureCount,
|
||||
failedSpecs = [],
|
||||
@@ -17,7 +15,6 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
};
|
||||
|
||||
this.jasmineStarted = function() {
|
||||
startTime = now();
|
||||
specCount = 0;
|
||||
failureCount = 0;
|
||||
pendingCount = 0;
|
||||
@@ -25,9 +22,7 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
printNewline();
|
||||
};
|
||||
|
||||
this.jasmineDone = function() {
|
||||
var elapsed = now() - startTime;
|
||||
|
||||
this.jasmineDone = function(options) {
|
||||
printNewline();
|
||||
for (var i = 0; i < failedSpecs.length; i++) {
|
||||
specFailureDetails(failedSpecs[i]);
|
||||
@@ -44,7 +39,7 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
print(specCounts);
|
||||
|
||||
printNewline();
|
||||
var seconds = elapsed / 1000;
|
||||
var seconds = options.executionTime / 1000;
|
||||
print("Finished in " + seconds + " " + plural("second", seconds));
|
||||
|
||||
printNewline();
|
||||
|
||||
@@ -38,8 +38,6 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
var print = options.print,
|
||||
showColors = options.showColors || false,
|
||||
onComplete = options.onComplete || function() {},
|
||||
now = options.now || function() { return new Date().getTime();},
|
||||
startTime = 0,
|
||||
specCount,
|
||||
failureCount,
|
||||
failedSpecs = [],
|
||||
@@ -52,7 +50,6 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
};
|
||||
|
||||
this.jasmineStarted = function() {
|
||||
startTime = now();
|
||||
specCount = 0;
|
||||
failureCount = 0;
|
||||
pendingCount = 0;
|
||||
@@ -60,9 +57,7 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
printNewline();
|
||||
};
|
||||
|
||||
this.jasmineDone = function() {
|
||||
var elapsed = now() - startTime;
|
||||
|
||||
this.jasmineDone = function(options) {
|
||||
printNewline();
|
||||
for (var i = 0; i < failedSpecs.length; i++) {
|
||||
specFailureDetails(failedSpecs[i]);
|
||||
@@ -79,7 +74,7 @@ getJasmineRequireObj().ConsoleReporter = function() {
|
||||
print(specCounts);
|
||||
|
||||
printNewline();
|
||||
var seconds = elapsed / 1000;
|
||||
var seconds = options.executionTime / 1000;
|
||||
print("Finished in " + seconds + " " + plural("second", seconds));
|
||||
|
||||
printNewline();
|
||||
|
||||
@@ -2,7 +2,8 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
function Env(options) {
|
||||
options = options || {};
|
||||
var self = this;
|
||||
var global = options.global || j$.getGlobal();
|
||||
var global = options.global || j$.getGlobal(),
|
||||
now = options.now || function() { return new Date().getTime(); };
|
||||
|
||||
var catchExceptions = true;
|
||||
|
||||
@@ -192,10 +193,13 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
};
|
||||
|
||||
this.execute = function() {
|
||||
var startTime = now();
|
||||
this.reporter.jasmineStarted({
|
||||
totalSpecsDefined: totalSpecsDefined
|
||||
});
|
||||
this.topSuite.execute(this.reporter.jasmineDone);
|
||||
this.topSuite.execute(function() {
|
||||
self.reporter.jasmineDone({executionTime: now() - startTime});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,11 @@ getJasmineRequireObj().JsApiReporter = function() {
|
||||
status = 'started';
|
||||
};
|
||||
|
||||
this.jasmineDone = function() {
|
||||
var executionTime;
|
||||
|
||||
this.jasmineDone = function(options) {
|
||||
this.finished = true;
|
||||
executionTime = options.executionTime;
|
||||
status = 'done';
|
||||
};
|
||||
|
||||
@@ -53,6 +56,10 @@ getJasmineRequireObj().JsApiReporter = function() {
|
||||
return specs;
|
||||
};
|
||||
|
||||
this.executionTime = function() {
|
||||
return executionTime;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
return JsApiReporter;
|
||||
|
||||
@@ -2,11 +2,10 @@ jasmineRequire.HtmlReporter = function() {
|
||||
function HtmlReporter(options) {
|
||||
var env = options.env || {},
|
||||
getContainer = options.getContainer,
|
||||
now = options.now || function() { return new Date().getTime();},
|
||||
createElement = options.createElement,
|
||||
createTextNode = options.createTextNode,
|
||||
onRaiseExceptionsClick = options.onRaiseExceptionsClick,
|
||||
results = [],
|
||||
startTime,
|
||||
specsExecuted = 0,
|
||||
failureCount = 0,
|
||||
pendingSpecCount = 0,
|
||||
@@ -33,7 +32,6 @@ jasmineRequire.HtmlReporter = function() {
|
||||
var totalSpecsDefined;
|
||||
this.jasmineStarted = function(options) {
|
||||
totalSpecsDefined = options.totalSpecsDefined || 0;
|
||||
startTime = now();
|
||||
};
|
||||
|
||||
var summary = createDom("div", {className: "summary"});
|
||||
@@ -94,11 +92,9 @@ jasmineRequire.HtmlReporter = function() {
|
||||
}
|
||||
};
|
||||
|
||||
this.jasmineDone = function() {
|
||||
var elapsed = now() - startTime;
|
||||
|
||||
this.jasmineDone = function(options) {
|
||||
var banner = find(".banner");
|
||||
banner.appendChild(createDom("span", {className: "duration"}, "finished in " + elapsed / 1000 + "s"));
|
||||
banner.appendChild(createDom("span", {className: "duration"}, "finished in " + options.executionTime / 1000 + "s"));
|
||||
|
||||
var alert = find(".alert");
|
||||
|
||||
@@ -113,7 +109,7 @@ jasmineRequire.HtmlReporter = function() {
|
||||
var checkbox = find("input");
|
||||
|
||||
checkbox.checked = !env.catchingExceptions();
|
||||
checkbox.onclick = options.onRaiseExceptionsClick;
|
||||
checkbox.onclick = onRaiseExceptionsClick;
|
||||
|
||||
if (specsExecuted < totalSpecsDefined) {
|
||||
var skippedMessage = "Ran " + specsExecuted + " of " + totalSpecsDefined + " specs - run all";
|
||||
|
||||
Reference in New Issue
Block a user