node/test/parallel/test-error-prepare-stack-tr...

31 lines
812 B
JavaScript

'use strict';
require('../common');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');
const assert = require('assert');
// Verify that the default Error.prepareStackTrace is present.
assert.strictEqual(typeof Error.prepareStackTrace, 'function');
// Error.prepareStackTrace() can be overridden.
{
let prepareCalled = false;
Error.prepareStackTrace = (_error, trace) => {
prepareCalled = true;
};
try {
throw new Error('foo');
} catch (err) {
err.stack; // eslint-disable-line no-unused-expressions
}
assert(prepareCalled);
}
if (process.argv[2] !== 'child') {
// Verify that the above test still passes when source-maps support is
// enabled.
spawnSyncAndExitWithoutError(
process.execPath,
['--enable-source-maps', __filename, 'child']);
}