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