toBeRejectedWithError can expect the error to be Error, not just a subtype
This commit is contained in:
@@ -294,15 +294,12 @@ describe('Matchers (Integration)', function() {
|
||||
});
|
||||
|
||||
describe('toBeRejectedWithError', function() {
|
||||
function MyCustomError() {}
|
||||
MyCustomError.prototype = new Error();
|
||||
|
||||
verifyPassesAsync(function(env) {
|
||||
return env.expectAsync(Promise.reject(new MyCustomError())).toBeRejectedWithError(MyCustomError);
|
||||
return env.expectAsync(Promise.reject(new Error())).toBeRejectedWithError(Error);
|
||||
});
|
||||
|
||||
verifyFailsAsync(function(env) {
|
||||
return env.expectAsync(Promise.resolve()).toBeRejectedWithError(MyCustomError);
|
||||
return env.expectAsync(Promise.resolve()).toBeRejectedWithError(Error);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -27,6 +27,21 @@ describe('#toBeRejectedWithError', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('passes when Error matches and is exactly Error', function() {
|
||||
jasmine.getEnv().requirePromises();
|
||||
|
||||
var matcher = jasmineUnderTest.asyncMatchers.toBeRejectedWithError(jasmineUnderTest.matchersUtil),
|
||||
actual = Promise.reject(new Error());
|
||||
|
||||
return matcher.compare(actual, Error).then(function (result) {
|
||||
expect(result).toEqual(jasmine.objectContaining({
|
||||
pass: true,
|
||||
message: 'Expected a promise not to be rejected with Error, but it was.'
|
||||
}));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
it('passes when Error message matches a string', function () {
|
||||
jasmine.getEnv().requirePromises();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user