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) {
|
function HtmlReporter(options) {
|
||||||
var config = function() {
|
var config = function() {
|
||||||
return (options.env && options.env.configuration()) || {};
|
return (options.env && options.env.configuration()) || {};
|
||||||
@@ -187,6 +193,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.jasmineDone = function(doneResult) {
|
this.jasmineDone = function(doneResult) {
|
||||||
|
stateBuilder.jasmineDone(doneResult);
|
||||||
var banner = find('.jasmine-banner');
|
var banner = find('.jasmine-banner');
|
||||||
var alert = find('.jasmine-alert');
|
var alert = find('.jasmine-alert');
|
||||||
var order = doneResult && doneResult.order;
|
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() {
|
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) {
|
function HtmlReporter(options) {
|
||||||
var config = function() {
|
var config = function() {
|
||||||
return (options.env && options.env.configuration()) || {};
|
return (options.env && options.env.configuration()) || {};
|
||||||
@@ -156,6 +162,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.jasmineDone = function(doneResult) {
|
this.jasmineDone = function(doneResult) {
|
||||||
|
stateBuilder.jasmineDone(doneResult);
|
||||||
var banner = find('.jasmine-banner');
|
var banner = find('.jasmine-banner');
|
||||||
var alert = find('.jasmine-alert');
|
var alert = find('.jasmine-alert');
|
||||||
var order = doneResult && doneResult.order;
|
var order = doneResult && doneResult.order;
|
||||||
|
|||||||
Reference in New Issue
Block a user