node/test/parallel/test-assert-esm-cjs-message-verify.js

32 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict';
const { spawnPromisified } = require('../common');
const assert = require('node:assert');
const { describe, it } = require('node:test');
const fileImports = {
commonjs: 'const assert = require("assert");',
module: 'import assert from "assert";',
};
describe('ensure the assert.ok throwing similar error messages for esm and cjs files', () => {
it('should return code 1 for each command', async () => {
const errorsMessages = [];
for (const [inputType, header] of Object.entries(fileImports)) {
const { stderr, code } = await spawnPromisified(process.execPath, [
'--input-type',
inputType,
'--eval',
`${header}\nassert.ok(0 === 2);\n`,
]);
assert.strictEqual(code, 1);
// For each error message, filter the lines which will starts with AssertionError
errorsMessages.push(
stderr.split('\n').find((s) => s.startsWith('AssertionError'))
);
}
assert.strictEqual(errorsMessages.length, 2);
assert.deepStrictEqual(errorsMessages[0], errorsMessages[1]);
});
});