testDirectProxyValidateProperty6.js (805B)
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 accessor descriptors, the current descriptor is 6 * non-configurable, and the descriptor returned by the trap has a different 7 * setter. 8 */ 9 var target = {}; 10 Object.defineProperty(target, 'foo', { 11 set: function (value) { 12 target.foo = 'bar'; 13 }, 14 configurable: false 15 }); 16 var caught = false; 17 assertThrowsInstanceOf(function () { 18 Object.getOwnPropertyDescriptor(new Proxy(target, { 19 getOwnPropertyDescriptor: function (target, name) { 20 return { 21 set: function (value) { 22 target.foo = 'baz'; 23 }, 24 configurable: false 25 }; 26 } 27 }), 'foo'); 28 }, TypeError);