trap-is-undefined.js (1012B)
1 // Copyright (C) 2015 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 es6id: 9.5.6 5 description: > 6 Return target.[[DefineOwnProperty]](P, Desc) if trap is undefined. 7 info: | 8 [[DefineOwnProperty]] (P, Desc) 9 10 ... 11 8. If trap is undefined, then 12 a. Return target.[[DefineOwnProperty]](P, Desc). 13 ... 14 includes: [propertyHelper.js] 15 features: [Proxy] 16 ---*/ 17 18 var target = {}; 19 var p = new Proxy(target, {}); 20 21 Object.defineProperty(p, "attr", { 22 configurable: true, 23 enumerable: true, 24 writable: true, 25 value: 1 26 }); 27 28 verifyEqualTo(target, "attr", 1); 29 verifyProperty(target, "attr", { 30 writable: true, 31 enumerable: true, 32 configurable: true, 33 }); 34 35 Object.defineProperty(p, "attr", { 36 configurable: false, 37 enumerable: false, 38 writable: false, 39 value: 2 40 }); 41 42 verifyEqualTo(target, "attr", 2); 43 verifyProperty(target, "attr", { 44 writable: false, 45 enumerable: false, 46 configurable: false, 47 }); 48 49 reportCompare(0, 0);