Skip to content

Commit 8e5c8a3

Browse files
AnnaMagMylesBorins
authored andcommitted
test: failing behaviour on sandboxed Proxy
CopyProperties() causes sandboxed Proxy to throw error when in fact no code has been run. The function will be removed with the updates to the V8 API. Here, failing Proxy test case is moved to known_issues. PR-URL: #11671 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
1 parent 72710d0 commit 8e5c8a3

2 files changed

Lines changed: 20 additions & 13 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'use strict';
2+
3+
// Sandbox throws in CopyProperties() despite no code being run
4+
// Issue: https://github.com/nodejs/node/issues/11902
5+
6+
7+
require('../common');
8+
const assert = require('assert');
9+
const vm = require('vm');
10+
11+
const handler = {
12+
getOwnPropertyDescriptor: (target, prop) => {
13+
throw new Error('whoops');
14+
}
15+
};
16+
const sandbox = new Proxy({foo: 'bar'}, handler);
17+
const context = vm.createContext(sandbox);
18+
19+
20+
assert.doesNotThrow(() => vm.runInContext('', context));

‎test/parallel/test-vm-proxies.js‎

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,3 @@ sandbox = { Proxy: Proxy };
1616
vm.runInNewContext('this.Proxy = Proxy', sandbox);
1717
assert.strictEqual(typeof sandbox.Proxy, 'function');
1818
assert.strictEqual(sandbox.Proxy, Proxy);
19-
20-
// Handle a sandbox that throws while copying properties
21-
assert.throws(() => {
22-
const handler = {
23-
getOwnPropertyDescriptor: (target, prop) => {
24-
throw new Error('whoops');
25-
}
26-
};
27-
const sandbox = new Proxy({foo: 'bar'}, handler);
28-
const context = vm.createContext(sandbox);
29-
30-
vm.runInContext('', context);
31-
}, /whoops/);

0 commit comments

Comments
 (0)