Treat afterAll errors at any level as failures

[Finishes #152492514]
This commit is contained in:
Steve Gravrock
2017-11-07 20:48:23 -08:00
parent a3cb010971
commit 1526d5e2a8
4 changed files with 23 additions and 3 deletions

View File

@@ -220,7 +220,7 @@ jasmineRequire.HtmlReporter = function(j$) {
var statusBarMessage = '';
var statusBarClassName = 'jasmine-overall-result jasmine-bar ';
var globalFailures = (doneResult && doneResult.failedExpectations) || [];
var failed = failureCount + globalFailures.length > 0;
var failed = failureCount + globalFailures.length + failedSuites.length > 0;
if (totalSpecsDefined > 0 || failed) {
statusBarMessage += pluralize('spec', specsExecuted) + ', ' + pluralize('failure', failureCount);

View File

@@ -433,7 +433,6 @@ describe("Env integration", function() {
env.it('has a spec', function() {});
env.afterAll(function() {
debugger;
throw 'nope';
});

View File

@@ -179,6 +179,27 @@ describe("HtmlReporter", function() {
});
describe("when there are suite failures", function () {
it("displays an overall result of failure even if no other failures occurred", function() {
var env = new jasmineUnderTest.Env(),
container = document.createElement("div"),
getContainer = function() { return container; },
reporter = new jasmineUnderTest.HtmlReporter({
env: env,
getContainer: getContainer,
createElement: function() { return document.createElement.apply(document, arguments); },
createTextNode: function() { return document.createTextNode.apply(document, arguments); }
});
reporter.initialize();
reporter.jasmineStarted({});
reporter.suiteDone({ status: 'failed', failedExpectations: [{ message: 'My After All Exception' }] });
reporter.jasmineDone({ failedExpectations: [] });
var alertBar = container.querySelector(".jasmine-overall-result");
expect(alertBar.classList).toContain("jasmine-failed");
});
it("displays the exceptions in their own alert bars", function(){
var env = new jasmineUnderTest.Env(),
container = document.createElement("div"),

View File

@@ -191,7 +191,7 @@ jasmineRequire.HtmlReporter = function(j$) {
var statusBarMessage = '';
var statusBarClassName = 'jasmine-overall-result jasmine-bar ';
var globalFailures = (doneResult && doneResult.failedExpectations) || [];
var failed = failureCount + globalFailures.length > 0;
var failed = failureCount + globalFailures.length + failedSuites.length > 0;
if (totalSpecsDefined > 0 || failed) {
statusBarMessage += pluralize('spec', specsExecuted) + ', ' + pluralize('failure', failureCount);