node/test/es-module/test-esm-invalid-pjson.js
Michaël Zasso 71c193e581
test: adapt to new JSON SyntaxError messages
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/3513684
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:27:56 +02:00

29 lines
1,010 B
JavaScript

'use strict';
const { checkoutEOL, spawnPromisified } = require('../common');
const fixtures = require('../common/fixtures.js');
const assert = require('node:assert');
const { execPath } = require('node:process');
const { describe, it } = require('node:test');
describe('ESM: Package.json', { concurrency: true }, () => {
it('should throw on invalid pson', async () => {
const entry = fixtures.path('/es-modules/import-invalid-pjson.mjs');
const invalidJson = fixtures.path('/node_modules/invalid-pjson/package.json');
const { code, signal, stderr } = await spawnPromisified(execPath, [entry]);
assert.ok(
stderr.includes(
`[ERR_INVALID_PACKAGE_CONFIG]: Invalid package config ${invalidJson} ` +
`while importing "invalid-pjson" from ${entry}. ` +
"Expected ':' after property name in JSON at position " +
`${12 + checkoutEOL.length * 2}`
),
stderr
);
assert.strictEqual(code, 1);
assert.strictEqual(signal, null);
});
});