'use strict'; // Refs: https://github.com/nodejs/node/issues/2734 require('../common'); const assert = require('assert'); const vm = require('vm'); const sandbox = {}; Object.defineProperty(sandbox, 'prop', { get() { return 'foo'; } }); const descriptor = Object.getOwnPropertyDescriptor(sandbox, 'prop'); const context = vm.createContext(sandbox); const code = 'Object.getOwnPropertyDescriptor(this, "prop");'; const result = vm.runInContext(code, context); // Ref: https://github.com/nodejs/node/issues/11803 assert.deepStrictEqual(Object.keys(result), Object.keys(descriptor)); for (const prop of Object.keys(result)) { assert.strictEqual(result[prop], descriptor[prop]); }