test: add eval ESM module tests
PR-URL: https://github.com/nodejs/node/pull/27956 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Jan Krems <jan.krems@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
parent
574985cec8
commit
44f18d236b
@ -229,3 +229,48 @@ child.exec(`${nodejs} --use-strict -p process.execArgv`,
|
||||
assert.strictEqual(err, null);
|
||||
}));
|
||||
});
|
||||
|
||||
// ESModule eval tests
|
||||
|
||||
|
||||
// Assert that "42\n" is written to stdout on module eval.
|
||||
const execOptions = '--experimental-modules --input-type module';
|
||||
child.exec(
|
||||
`${nodejs} ${execOptions} --eval "console.log(42)"`,
|
||||
common.mustCall((err, stdout) => {
|
||||
assert.ifError(err);
|
||||
assert.strictEqual(stdout, '42\n');
|
||||
}));
|
||||
|
||||
// Assert that "42\n" is written to stdout with print option.
|
||||
child.exec(
|
||||
`${nodejs} ${execOptions} --print --eval "42"`,
|
||||
common.mustCall((err, stdout) => {
|
||||
assert.ifError(err);
|
||||
assert.strictEqual(stdout, '42\n');
|
||||
}));
|
||||
|
||||
// Assert that error is written to stderr on invalid input.
|
||||
child.exec(
|
||||
`${nodejs} ${execOptions} --eval "!!!!"`,
|
||||
common.mustCall((err, stdout, stderr) => {
|
||||
assert.ok(err);
|
||||
assert.strictEqual(stdout, '');
|
||||
assert.ok(stderr.indexOf('SyntaxError: Unexpected end of input') > 0);
|
||||
}));
|
||||
|
||||
// Assert that require is undefined in ESM support
|
||||
child.exec(
|
||||
`${nodejs} ${execOptions} --eval "console.log(typeof require);"`,
|
||||
common.mustCall((err, stdout) => {
|
||||
assert.ifError(err);
|
||||
assert.strictEqual(stdout, 'undefined\n');
|
||||
}));
|
||||
|
||||
// Assert that import.meta is defined in ESM
|
||||
child.exec(
|
||||
`${nodejs} ${execOptions} --eval "console.log(typeof import.meta);"`,
|
||||
common.mustCall((err, stdout) => {
|
||||
assert.ifError(err);
|
||||
assert.strictEqual(stdout, 'object\n');
|
||||
}));
|
||||
|
Loading…
x
Reference in New Issue
Block a user