1'use strict'; 2// Refs: https://github.com/nodejs/node/issues/10223 3 4require('../common'); 5const vm = require('vm'); 6const assert = require('assert'); 7 8const context = vm.createContext({}); 9 10let code = ` 11 Object.defineProperty(this, 'foo', {value: 5}); 12 Object.getOwnPropertyDescriptor(this, 'foo'); 13`; 14 15let desc = vm.runInContext(code, context); 16 17assert.strictEqual(desc.writable, false); 18 19// Check that interceptors work for symbols. 20code = ` 21 const bar = Symbol('bar'); 22 Object.defineProperty(this, bar, {value: 6}); 23 Object.getOwnPropertyDescriptor(this, bar); 24`; 25 26desc = vm.runInContext(code, context); 27 28assert.strictEqual(desc.value, 6); 29