1'use strict'; 2// Refs: https://github.com/nodejs/node/issues/2734 3require('../common'); 4const assert = require('assert'); 5const vm = require('vm'); 6const sandbox = {}; 7 8Object.defineProperty(sandbox, 'prop', { 9 get() { 10 return 'foo'; 11 } 12}); 13 14const descriptor = Object.getOwnPropertyDescriptor(sandbox, 'prop'); 15const context = vm.createContext(sandbox); 16const code = 'Object.getOwnPropertyDescriptor(this, "prop");'; 17const result = vm.runInContext(code, context); 18 19// Ref: https://github.com/nodejs/node/issues/11803 20 21assert.deepStrictEqual(Object.keys(result), Object.keys(descriptor)); 22for (const prop of Object.keys(result)) { 23 assert.strictEqual(result[prop], descriptor[prop]); 24} 25