testTestIntegrityLevel.js (641B)
1 // isSealed/isFrozen should short-circuit. 2 3 var count = 0; 4 var target = Object.preventExtensions({a: 1, b: 2, c: 3}); 5 var p = new Proxy(target, { 6 getOwnPropertyDescriptor(t, id) { 7 count++; 8 return Object.getOwnPropertyDescriptor(t, id); 9 } 10 }); 11 assertEq(Object.isSealed(p), false); 12 assertEq(count, 1); 13 14 count = 0; 15 assertEq(Object.isFrozen(p), false); 16 assertEq(count, 1); 17 18 Object.seal(target); 19 count = 0; 20 assertEq(Object.isSealed(p), true); 21 assertEq(count, 3); 22 23 count = 0; 24 assertEq(Object.isFrozen(p), false); 25 assertEq(count, 1); 26 27 Object.freeze(target); 28 count = 0; 29 assertEq(Object.isFrozen(p), true); 30 assertEq(count, 3);