Skip to content

Commit 8b0bf4d

Browse files
authoredJan 25, 2021
Merge pull request #705 from janthoe/master
fix: Check error object before updating stack. (Fixes #700)
2 parents c21ba9a + b628d34 commit 8b0bf4d

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
 

‎lib/test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function wrapAssertFn(assertFn) {
7878
return function(res) {
7979
var badStack;
8080
var err = assertFn(res);
81-
if (err && err.stack) {
81+
if (err instanceof Error && err.stack) {
8282
badStack = err.stack.replace(err.message, '').split('\n').slice(1);
8383
err.stack = [err.toString()]
8484
.concat(savedStack)

‎test/supertest.js

+12
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,18 @@ describe('request(app)', function () {
738738
.end(done);
739739
});
740740

741+
it("doesn't create false negatives on non error objects", function (done) {
742+
const handler = {
743+
get: function(target, prop, receiver) {
744+
throw Error('Should not be called for non Error objects');
745+
}
746+
};
747+
const proxy = new Proxy({}, handler); // eslint-disable-line no-undef
748+
get
749+
.expect(() => proxy)
750+
.end(done);
751+
});
752+
741753
it('handles multiple asserts', function (done) {
742754
const calls = [];
743755
get

0 commit comments

Comments
 (0)
Please sign in to comment.