blob: 343b67e610332bdfe2097ce3aee818619b670f93 [file] [edit]
// Flags: --experimental-vm-modules
'use strict';
// This tests the result of evaluating a vm.Module while it is evaluating.
const common = require('../common');
const assert = require('assert');
const vm = require('vm');
{
let mod;
globalThis.evaluate = common.mustCall(() => {
assert.rejects(() => mod.evaluate(), {
code: 'ERR_VM_MODULE_STATUS'
}).then(common.mustCall());
});
common.allowGlobals(globalThis.evaluate);
mod = new vm.SourceTextModule(`
globalThis.evaluate();
export const a = 42;
`);
mod.linkRequests([]);
mod.instantiate();
mod.evaluate();
}
{
const mod = new vm.SyntheticModule(['a'], common.mustCall(() => {
assert.rejects(() => mod.evaluate(), {
code: 'ERR_VM_MODULE_STATUS'
}).then(common.mustCall());
}));
mod.evaluate();
}