diff options
Diffstat (limited to 'cli/js/40_testing.js')
-rw-r--r-- | cli/js/40_testing.js | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/cli/js/40_testing.js b/cli/js/40_testing.js index 8b1557fbf..d119552e4 100644 --- a/cli/js/40_testing.js +++ b/cli/js/40_testing.js @@ -677,11 +677,21 @@ function test( // Delete this prop in case the user passed it. It's used to detect steps. delete testDesc.parent; const jsError = core.destructureError(new Error()); - testDesc.location = { - fileName: jsError.frames[1].fileName, - lineNumber: jsError.frames[1].lineNumber, - columnNumber: jsError.frames[1].columnNumber, - }; + let location; + + for (let i = 0; i < jsError.frames.length; i++) { + const filename = jsError.frames[i].fileName; + if (filename.startsWith("ext:") || filename.startsWith("node:")) { + continue; + } + location = { + fileName: jsError.frames[i].fileName, + lineNumber: jsError.frames[i].lineNumber, + columnNumber: jsError.frames[i].columnNumber, + }; + break; + } + testDesc.location = location; testDesc.fn = wrapTest(testDesc); const { id, origin } = ops.op_register_test(testDesc); |