object-seal-p-is-own-accessor-property-that-overrides-an-inherited-accessor-property.js (802B)
1 // Copyright (c) 2012 Ecma International. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 esid: sec-setintegritylevel 6 description: > 7 Object.seal - 'P' is own accessor property that overrides an 8 inherited accessor property 9 includes: [propertyHelper.js] 10 ---*/ 11 12 var proto = {}; 13 14 Object.defineProperty(proto, "foo", { 15 get: function() { 16 return 0; 17 }, 18 configurable: true 19 }); 20 21 var ConstructFun = function() {}; 22 ConstructFun.prototype = proto; 23 24 var obj = new ConstructFun(); 25 26 Object.defineProperty(obj, "foo", { 27 get: function() { 28 return 10; 29 }, 30 configurable: true 31 }); 32 33 assert(Object.isExtensible(obj)); 34 Object.seal(obj); 35 36 verifyProperty(obj, "foo", { 37 configurable: false, 38 }); 39 40 assert.sameValue(obj.foo, 10); 41 42 reportCompare(0, 0);