1'use strict'; 2// https://github.com/nodejs/node/issues/10223 3 4require('../common'); 5const assert = require('assert'); 6const vm = require('vm'); 7 8const ctx = vm.createContext(); 9vm.runInContext('Object.defineProperty(this, "x", { value: 42 })', ctx); 10assert.strictEqual(vm.runInContext('x', ctx), 42); 11vm.runInContext('x = 0', ctx); // Does not throw but x... 12assert.strictEqual(vm.runInContext('x', ctx), 42); // ...should be unaltered. 13assert.throws(() => vm.runInContext('"use strict"; x = 0', ctx), 14 /Cannot assign to read only property 'x'/); 15assert.strictEqual(vm.runInContext('x', ctx), 42); 16