toThrow()'s (and some other matchers') .not message is misleading.
This commit is contained in:
parent
3ec736f64c
commit
b33b2d2cf1
|
@ -500,6 +500,7 @@ describe("jasmine.Matchers", function() {
|
||||||
describe("and matcher is inverted with .not", function() {
|
describe("and matcher is inverted with .not", function() {
|
||||||
it("should match any exception", function() {
|
it("should match any exception", function() {
|
||||||
expect(match(throwingFn).not.toThrow()).toFail();
|
expect(match(throwingFn).not.toThrow()).toFail();
|
||||||
|
expect(lastResult().message).toMatch(/Expected function not to throw an exception/);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should match exceptions specified by message", function() {
|
it("should match exceptions specified by message", function() {
|
||||||
|
@ -537,7 +538,7 @@ describe("jasmine.Matchers", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
describe("when code block doesn not throw an exception", function() {
|
describe("when code block does not throw an exception", function() {
|
||||||
it("should fail (or pass when inverted with .not)", function() {
|
it("should fail (or pass when inverted with .not)", function() {
|
||||||
expect(match(function() {
|
expect(match(function() {
|
||||||
}).toThrow()).toFail();
|
}).toThrow()).toFail();
|
||||||
|
@ -787,7 +788,7 @@ describe("jasmine.Matchers", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("all matchers", function() {
|
describe("all matchers", function() {
|
||||||
it("should return null, for futureproofing, since we might eventually allow matcher chaining", function() {
|
it("should return null, for future-proofing, since we might eventually allow matcher chaining", function() {
|
||||||
expect(match(true).toBe(true)).toBeUndefined();
|
expect(match(true).toBe(true)).toBeUndefined();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -311,9 +311,11 @@ jasmine.Matchers.prototype.toThrow = function(expected) {
|
||||||
result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
|
result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var not = this.isNot ? "not " : "";
|
||||||
|
|
||||||
this.message = function() {
|
this.message = function() {
|
||||||
if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
|
if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
|
||||||
return ["Expected function to throw", expected ? expected.message || expected : " an exception", ", but it threw", exception.message || exception].join(' ');
|
return ["Expected function " + not + "to throw", expected ? expected.message || expected : " an exception", ", but it threw", exception.message || exception].join(' ');
|
||||||
} else {
|
} else {
|
||||||
return "Expected function to throw an exception.";
|
return "Expected function to throw an exception.";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue