diff --git a/lib/jasmine-core/jasmine-html.js b/lib/jasmine-core/jasmine-html.js
index 4f9722bd..26248ed4 100644
--- a/lib/jasmine-core/jasmine-html.js
+++ b/lib/jasmine-core/jasmine-html.js
@@ -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);
diff --git a/spec/core/integration/EnvSpec.js b/spec/core/integration/EnvSpec.js
index 8bbad5fe..b5cfc29f 100644
--- a/spec/core/integration/EnvSpec.js
+++ b/spec/core/integration/EnvSpec.js
@@ -433,7 +433,6 @@ describe("Env integration", function() {
env.it('has a spec', function() {});
env.afterAll(function() {
- debugger;
throw 'nope';
});
diff --git a/spec/html/HtmlReporterSpec.js b/spec/html/HtmlReporterSpec.js
index 84bcd1a3..87f7a093 100644
--- a/spec/html/HtmlReporterSpec.js
+++ b/spec/html/HtmlReporterSpec.js
@@ -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"),
diff --git a/src/html/HtmlReporter.js b/src/html/HtmlReporter.js
index cbcd41b8..e4ec91bf 100644
--- a/src/html/HtmlReporter.js
+++ b/src/html/HtmlReporter.js
@@ -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);