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);
|
||||
}
|
||||
|
||||
if (error.cause) {
|
||||
if (error.cause && error.cause instanceof Error) {
|
||||
const substack = this.stack_(error.cause, {
|
||||
messageHandling: 'require'
|
||||
});
|
||||
|
||||
@@ -291,6 +291,26 @@ describe('ExceptionFormatter', function() {
|
||||
.withContext('first root cause stack frame')
|
||||
.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);
|
||||
}
|
||||
|
||||
if (error.cause) {
|
||||
if (error.cause && error.cause instanceof Error) {
|
||||
const substack = this.stack_(error.cause, {
|
||||
messageHandling: 'require'
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user