// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 18.12.1 // This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually. '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]); }