object-seal-inherited-data-properties-are-ignored.js (792B)
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: Object.seal - inherited data properties are ignored 7 ---*/ 8 9 var proto = {}; 10 11 Object.defineProperty(proto, "Father", { 12 value: 10, 13 configurable: true 14 }); 15 16 var ConstructFun = function() {}; 17 ConstructFun.prototype = proto; 18 19 var child = new ConstructFun(); 20 var preCheck = Object.isExtensible(child); 21 Object.seal(child); 22 23 var beforeDeleted = proto.hasOwnProperty("Father"); 24 delete proto.Father; 25 var afterDeleted = proto.hasOwnProperty("Father"); 26 27 assert(preCheck, 'preCheck !== true'); 28 assert(beforeDeleted, 'beforeDeleted !== true'); 29 assert.sameValue(afterDeleted, false, 'afterDeleted'); 30 31 reportCompare(0, 0);