mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
81 lines
1.7 KiB
JavaScript
81 lines
1.7 KiB
JavaScript
|
/**
|
||
|
* Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults
|
||
|
*
|
||
|
* @constructor
|
||
|
*/
|
||
|
jasmine.NestedResults = function() {
|
||
|
/**
|
||
|
* The total count of results
|
||
|
*/
|
||
|
this.totalCount = 0;
|
||
|
/**
|
||
|
* Number of passed results
|
||
|
*/
|
||
|
this.passedCount = 0;
|
||
|
/**
|
||
|
* Number of failed results
|
||
|
*/
|
||
|
this.failedCount = 0;
|
||
|
/**
|
||
|
* Was this suite/spec skipped?
|
||
|
*/
|
||
|
this.skipped = false;
|
||
|
/**
|
||
|
* @ignore
|
||
|
*/
|
||
|
this.items_ = [];
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Roll up the result counts.
|
||
|
*
|
||
|
* @param result
|
||
|
*/
|
||
|
jasmine.NestedResults.prototype.rollupCounts = function(result) {
|
||
|
this.totalCount += result.totalCount;
|
||
|
this.passedCount += result.passedCount;
|
||
|
this.failedCount += result.failedCount;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Adds a log message.
|
||
|
* @param values Array of message parts which will be concatenated later.
|
||
|
*/
|
||
|
jasmine.NestedResults.prototype.log = function(values) {
|
||
|
this.items_.push(new jasmine.MessageResult(values));
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Getter for the results: message & results.
|
||
|
*/
|
||
|
jasmine.NestedResults.prototype.getItems = function() {
|
||
|
return this.items_;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Adds a result, tracking counts (total, passed, & failed)
|
||
|
* @param {jasmine.ExpectationResult|jasmine.NestedResults} result
|
||
|
*/
|
||
|
jasmine.NestedResults.prototype.addResult = function(result) {
|
||
|
if (result.type != 'log') {
|
||
|
if (result.items_) {
|
||
|
this.rollupCounts(result);
|
||
|
} else {
|
||
|
this.totalCount++;
|
||
|
if (result.passed()) {
|
||
|
this.passedCount++;
|
||
|
} else {
|
||
|
this.failedCount++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
this.items_.push(result);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @returns {Boolean} True if <b>everything</b> below passed
|
||
|
*/
|
||
|
jasmine.NestedResults.prototype.passed = function() {
|
||
|
return this.passedCount === this.totalCount;
|
||
|
};
|