diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 0bc24bae544..3a2a2b1383f 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -560,7 +560,7 @@ class Test extends AsyncResource { const map = lazyFindSourceMap(this.loc.file); const entry = map?.findEntry(this.loc.line - 1, this.loc.column - 1); - if (entry !== undefined) { + if (entry?.originalSource !== undefined) { this.loc.line = entry.originalLine + 1; this.loc.column = entry.originalColumn + 1; this.loc.file = entry.originalSource; diff --git a/test/parallel/test-runner-enable-source-maps-issue.js b/test/parallel/test-runner-enable-source-maps-issue.js new file mode 100644 index 00000000000..95112ca4471 --- /dev/null +++ b/test/parallel/test-runner-enable-source-maps-issue.js @@ -0,0 +1,16 @@ +'use strict'; +require('../common'); +const assert = require('node:assert'); +const { spawnSync } = require('node:child_process'); +const { test } = require('node:test'); +const fixtures = require('../common/fixtures'); + +test('ensures --enable-source-maps does not throw an error', () => { + const fixture = fixtures.path('test-runner', 'coverage', 'stdin.test.js'); + const args = ['--enable-source-maps', fixture]; + + const result = spawnSync(process.execPath, args); + + assert.strictEqual(result.stderr.toString(), ''); + assert.strictEqual(result.status, 0); +});