Merge branch '1123-custom-error' of https://github.com/deckar01/jasmine into deckar01-1123-custom-error

- Merges #1298 from @deckar01
- Fixes #1123
This commit is contained in:
Gregg Van Hove
2017-04-10 13:45:22 -07:00
3 changed files with 54 additions and 7 deletions

View File

@@ -2064,6 +2064,7 @@ getJasmineRequireObj().Expectation = function() {
matcherName: name,
passed: result.pass,
message: message,
error: result.error,
actual: this.actual,
expected: expected // TODO: this may need to be arrayified/sliced
}

View File

@@ -113,6 +113,7 @@ describe("Expectation", function() {
matcherName: "toFoo",
passed: true,
message: "",
error: undefined,
expected: "hello",
actual: "an actual"
});
@@ -146,7 +147,8 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: "an actual",
message: ""
message: "",
error: undefined
});
});
@@ -179,7 +181,8 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: "an actual",
message: "I am a custom message"
message: "I am a custom message",
error: undefined
});
});
@@ -212,7 +215,8 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: "an actual",
message: "I am a custom message"
message: "I am a custom message",
error: undefined
});
});
@@ -244,6 +248,7 @@ describe("Expectation", function() {
matcherName: "toFoo",
passed: true,
message: "",
error: undefined,
expected: "hello",
actual: actual
});
@@ -279,7 +284,8 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: actual,
message: "default message"
message: "default message",
error: undefined
});
});
@@ -314,7 +320,8 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: actual,
message: "I am a custom message"
message: "I am a custom message",
error: undefined
});
});
@@ -345,7 +352,8 @@ describe("Expectation", function() {
passed: true,
expected: "hello",
actual: actual,
message: ""
message: "",
error: undefined
});
});
@@ -381,7 +389,44 @@ describe("Expectation", function() {
passed: false,
expected: "hello",
actual: actual,
message: "I'm a custom message"
message: "I'm a custom message",
error: undefined
});
});
it("reports a custom error message to the spec", function() {
var customError = new Error("I am a custom error");
var matchers = {
toFoo: function() {
return {
compare: function() {
return {
pass: false,
message: "I am a custom message",
error: customError
};
}
};
}
},
addExpectationResult = jasmine.createSpy("addExpectationResult"),
expectation;
expectation = new jasmineUnderTest.Expectation({
actual: "an actual",
customMatchers: matchers,
addExpectationResult: addExpectationResult
});
expectation.toFoo("hello");
expect(addExpectationResult).toHaveBeenCalledWith(false, {
matcherName: "toFoo",
passed: false,
expected: "hello",
actual: "an actual",
message: "I am a custom message",
error: customError
});
});

View File

@@ -65,6 +65,7 @@ getJasmineRequireObj().Expectation = function() {
matcherName: name,
passed: result.pass,
message: message,
error: result.error,
actual: this.actual,
expected: expected // TODO: this may need to be arrayified/sliced
}