Browse Source

test: add known issue for vm module

GlobalPropertySetterCallback() does not check the
property on the sandbox. It wrongly throws an error
instead of updating `x`.

PR-URL: https://github.com/nodejs/node/pull/14661
Ref: https://github.com/nodejs/node/issues/12300
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
canary-base
Franziska Hinkelmann 7 years ago
committed by James M Snell
parent
commit
9e5d0e3d76
  1. 17
      test/known_issues/test-vm-strict-mode.js

17
test/known_issues/test-vm-strict-mode.js

@ -0,0 +1,17 @@
'use strict';
// https://github.com/nodejs/node/issues/12300
require('../common');
const assert = require('assert');
const vm = require('vm');
const ctx = vm.createContext({ x: 42 });
// The following line wrongly throws an
// error because GlobalPropertySetterCallback()
// does not check if the property exists
// on the sandbox. It should just set x to 1
// instead of throwing an error.
vm.runInContext('"use strict"; x = 1', ctx);
assert.strictEqual(ctx.x, 1);
Loading…
Cancel
Save