js/src/jit-test/tests/proxy/testDirectProxyValidateProperty4.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:1fb1274d328e
1 load(libdir + "asserts.js");
2
3 /*
4 * Throw a TypeError if both the current descriptor and the descriptor returned
5 * by the trap are data descriptors, the current descriptor is non-configurable
6 * and non-writable, and the descriptor returned by the trap is writable.
7 */
8 var target = {};
9 Object.defineProperty(target, 'foo', {
10 value: 'bar',
11 writable: false,
12 configurable: false
13 });
14 assertThrowsInstanceOf(function () {
15 Object.getOwnPropertyDescriptor(new Proxy(target, {
16 getOwnPropertyDescriptor: function (target, name) {
17 return {
18 value: 'bar',
19 writable: true,
20 configurable: false
21 };
22 }
23 }), 'foo');
24 }, TypeError);

mercurial