Skip to content

Commit 3ae58ac

Browse files
AnnaMagitaloacasas
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 <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]>
1 parent 560d8ee commit 3ae58ac

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)