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

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed
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

-13
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)