node/test/parallel/test-vm-util-lazy-propertie...

27 lines
736 B
JavaScript

'use strict';
require('../common');
const vm = require('node:vm');
const util = require('node:util');
const assert = require('node:assert');
// This verifies that invoking property getters defined with
// `require('internal/util').defineLazyProperties` does not crash
// the process.
const ctx = vm.createContext();
const getter = vm.runInContext(`
function getter(object, property) {
return object[property];
}
getter;
`, ctx);
// `util.parseArgs` is a lazy property.
const parseArgs = getter(util, 'parseArgs');
assert.strictEqual(parseArgs, util.parseArgs);
// `globalThis.TextEncoder` is a lazy property.
const TextEncoder = getter(globalThis, 'TextEncoder');
assert.strictEqual(TextEncoder, globalThis.TextEncoder);