Merge branch 'skip-non-error-cause' of https://github.com/angrycat9000/jasmine
* Merges #2013 from @angrycat9000 * Fixes #2011
This commit is contained in:
@@ -3580,7 +3580,7 @@ getJasmineRequireObj().ExceptionFormatter = function(j$) {
|
|||||||
lines.unshift(stackTrace.message);
|
lines.unshift(stackTrace.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error.cause) {
|
if (error.cause && error.cause instanceof Error) {
|
||||||
const substack = this.stack_(error.cause, {
|
const substack = this.stack_(error.cause, {
|
||||||
messageHandling: 'require'
|
messageHandling: 'require'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -291,6 +291,26 @@ describe('ExceptionFormatter', function() {
|
|||||||
.withContext('first root cause stack frame')
|
.withContext('first root cause stack frame')
|
||||||
.toContain('ExceptionFormatterSpec.js');
|
.toContain('ExceptionFormatterSpec.js');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('does not throw if cause is a non Error', function() {
|
||||||
|
const formatter = new jasmineUnderTest.ExceptionFormatter();
|
||||||
|
|
||||||
|
expect(function() {
|
||||||
|
formatter.stack(
|
||||||
|
new Error('error', {
|
||||||
|
cause: function() {}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}).not.toThrowError();
|
||||||
|
|
||||||
|
expect(function() {
|
||||||
|
formatter.stack(
|
||||||
|
new Error('error', {
|
||||||
|
cause: 'another error'
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}).not.toThrowError();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ getJasmineRequireObj().ExceptionFormatter = function(j$) {
|
|||||||
lines.unshift(stackTrace.message);
|
lines.unshift(stackTrace.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error.cause) {
|
if (error.cause && error.cause instanceof Error) {
|
||||||
const substack = this.stack_(error.cause, {
|
const substack = this.stack_(error.cause, {
|
||||||
messageHandling: 'require'
|
messageHandling: 'require'
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user