diff options
Diffstat (limited to 'js/src/jit-test/tests/proxy/testDirectProxySet1.js')
-rw-r--r-- | js/src/jit-test/tests/proxy/testDirectProxySet1.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/proxy/testDirectProxySet1.js b/js/src/jit-test/tests/proxy/testDirectProxySet1.js new file mode 100644 index 000000000..ddc1bc5dd --- /dev/null +++ b/js/src/jit-test/tests/proxy/testDirectProxySet1.js @@ -0,0 +1,18 @@ +// Forward to the target if the trap is not defined +var target = { + foo: 'bar' +}; +for (let p of [new Proxy(target, {}), Proxy.revocable(target, {}).proxy]) { + // The sets from the first iteration will affect target, but it doesn't + // matter, since the effectiveness of the foo sets is still observable. + p.foo = 'baz'; + assertEq(target.foo, 'baz'); + p['foo'] = 'buz'; + assertEq(target.foo, 'buz'); + + var sym = Symbol.for('quux'); + p[sym] = sym; + assertEq(target[sym], sym); + // Reset for second iteration + target[sym] = undefined; +} |