testDirectProxyValidateProperty5.js (764B)
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 does not have the 7 * same value. 8 */ 9 var target = {}; 10 Object.defineProperty(target, 'foo', { 11 value: 'bar', 12 writable: false, 13 configurable: false 14 }); 15 var caught = false; 16 assertThrowsInstanceOf(function () { 17 Object.getOwnPropertyDescriptor(new Proxy(target, { 18 getOwnPropertyDescriptor: function (target, name) { 19 return { 20 value: 'baz', 21 writable: false, 22 configurable: false 23 }; 24 } 25 }), 'foo'); 26 }, TypeError);