11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_cirequire('../common'); 31cb0ef41Sopenharmony_ciconst assert = require('assert'); 41cb0ef41Sopenharmony_ciconst vm = require('vm'); 51cb0ef41Sopenharmony_ci 61cb0ef41Sopenharmony_ci// Assert that accessor descriptors are not flattened on the sandbox. 71cb0ef41Sopenharmony_ci// Issue: https://github.com/nodejs/node/issues/2734 81cb0ef41Sopenharmony_ciconst sandbox = {}; 91cb0ef41Sopenharmony_civm.createContext(sandbox); 101cb0ef41Sopenharmony_ciconst code = `Object.defineProperty( 111cb0ef41Sopenharmony_ci this, 121cb0ef41Sopenharmony_ci 'foo', 131cb0ef41Sopenharmony_ci { get: function() {return 17} } 141cb0ef41Sopenharmony_ci ); 151cb0ef41Sopenharmony_ci var desc = Object.getOwnPropertyDescriptor(this, 'foo');`; 161cb0ef41Sopenharmony_ci 171cb0ef41Sopenharmony_civm.runInContext(code, sandbox); 181cb0ef41Sopenharmony_ciassert.strictEqual(typeof sandbox.desc.get, 'function'); 19