node/test/parallel/test-vm-global-configurable-properties.js
F. Hinkelmann 1cd9a95e29
src: fix vm bug for configurable globalThis
Object.defineProperty allows to change the value for
non-writable properties if they are configurable. We
missed that case when checking if a
property is read-only.

Fixes: https://github.com/nodejs/node/issues/47799
PR-URL: https://github.com/nodejs/node/pull/51602
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-02-01 09:12:15 +00:00

16 lines
438 B
JavaScript

'use strict';
// https://github.com/nodejs/node/issues/47799
require('../common');
const assert = require('assert');
const vm = require('vm');
const ctx = vm.createContext();
const window = vm.runInContext('this', ctx);
Object.defineProperty(window, 'x', { value: '1', configurable: true });
assert.strictEqual(window.x, '1');
Object.defineProperty(window, 'x', { value: '2', configurable: true });
assert.strictEqual(window.x, '2');