Fix html escaping of matcher failure messages.

This commit is contained in:
Christian Williams 2009-11-12 16:13:44 -05:00
parent 5a8a050c46
commit ee5905d237
2 changed files with 14 additions and 3 deletions

View File

@ -89,9 +89,7 @@ jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {
for (var i = 0; i < resultItems.length; i++) { for (var i = 0; i < resultItems.length; i++) {
var result = resultItems[i]; var result = resultItems[i];
if (result.passed && !result.passed()) { if (result.passed && !result.passed()) {
var resultMessageDiv = this.createDom('div', {className: 'resultMessage fail'}); specDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
resultMessageDiv.innerHTML = result.message; // todo: lame; mend
specDiv.appendChild(resultMessageDiv);
specDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack)); specDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
} }
} }

View File

@ -122,6 +122,19 @@ describe("TrivialReporter", function() {
var divs = body.getElementsByTagName("div"); var divs = body.getElementsByTagName("div");
expect(divs[3].innerHTML).toEqual("Expected 'a' to be null, but it was not"); expect(divs[3].innerHTML).toEqual("Expected 'a' to be null, but it was not");
}); });
it("should add the failure message to the DOM (non-toEquals matchers)", function() {
expectationResult = new jasmine.ExpectationResult({
matcherName: "toBeNull", passed: false, message: "Expected '1 < 2' to <b>e null, & it was not"
});
spyOn(results, 'getItems').andReturn([expectationResult]);
trivialReporter.reportSpecResults(spec);
var divs = body.getElementsByTagName("div");
expect(divs[3].innerHTML).toEqual("Expected '1 &lt; 2' to &lt;b&gt;e null, &amp; it was not");
});
}); });
}); });