'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]); }); });