HTML: Include top suite failures in the reported failure count
This commit is contained in:
@@ -72,6 +72,12 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
}
|
||||
};
|
||||
|
||||
ResultsStateBuilder.prototype.jasmineDone = function(result) {
|
||||
if (result.failedExpectations) {
|
||||
this.failureCount += result.failedExpectations.length;
|
||||
}
|
||||
};
|
||||
|
||||
function HtmlReporter(options) {
|
||||
var config = function() {
|
||||
return (options.env && options.env.configuration()) || {};
|
||||
@@ -187,6 +193,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
};
|
||||
|
||||
this.jasmineDone = function(doneResult) {
|
||||
stateBuilder.jasmineDone(doneResult);
|
||||
var banner = find('.jasmine-banner');
|
||||
var alert = find('.jasmine-alert');
|
||||
var order = doneResult && doneResult.order;
|
||||
|
||||
@@ -1653,6 +1653,61 @@ describe('HtmlReporter', function() {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('counts failures that are reported in the jasmineDone event', function() {
|
||||
const container = document.createElement('div');
|
||||
function getContainer() {
|
||||
return container;
|
||||
}
|
||||
const reporter = new jasmineUnderTest.HtmlReporter({
|
||||
env: env,
|
||||
getContainer: getContainer,
|
||||
createElement: function() {
|
||||
return document.createElement.apply(document, arguments);
|
||||
},
|
||||
createTextNode: function() {
|
||||
return document.createTextNode.apply(document, arguments);
|
||||
},
|
||||
addToExistingQueryString: function(key, value) {
|
||||
return '?' + key + '=' + value;
|
||||
}
|
||||
});
|
||||
reporter.initialize();
|
||||
|
||||
reporter.jasmineStarted({ totalSpecsDefined: 1 });
|
||||
|
||||
const failingSpecResult = {
|
||||
id: 124,
|
||||
status: 'failed',
|
||||
description: 'a failing spec',
|
||||
fullName: 'a suite inner suite a failing spec',
|
||||
passedExpectations: [],
|
||||
failedExpectations: [
|
||||
{
|
||||
message: 'a failure message',
|
||||
stack: 'a stack trace'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
reporter.specStarted(failingSpecResult);
|
||||
reporter.specDone(failingSpecResult);
|
||||
reporter.jasmineDone({
|
||||
failedExpectations: [
|
||||
{
|
||||
message: 'a failure message',
|
||||
stack: 'a stack trace'
|
||||
},
|
||||
{
|
||||
message: 'a failure message',
|
||||
stack: 'a stack trace'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
const alertBar = container.querySelector('.jasmine-alert .jasmine-bar');
|
||||
expect(alertBar.innerHTML).toMatch(/1 spec, 3 failures/);
|
||||
});
|
||||
});
|
||||
|
||||
describe('The overall result bar', function() {
|
||||
|
||||
@@ -41,6 +41,12 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
}
|
||||
};
|
||||
|
||||
ResultsStateBuilder.prototype.jasmineDone = function(result) {
|
||||
if (result.failedExpectations) {
|
||||
this.failureCount += result.failedExpectations.length;
|
||||
}
|
||||
};
|
||||
|
||||
function HtmlReporter(options) {
|
||||
var config = function() {
|
||||
return (options.env && options.env.configuration()) || {};
|
||||
@@ -156,6 +162,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
};
|
||||
|
||||
this.jasmineDone = function(doneResult) {
|
||||
stateBuilder.jasmineDone(doneResult);
|
||||
var banner = find('.jasmine-banner');
|
||||
var alert = find('.jasmine-alert');
|
||||
var order = doneResult && doneResult.order;
|
||||
|
||||
Reference in New Issue
Block a user