15.2.3.5-4-186.js (928B)
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 es5id: 15.2.3.5-4-186 6 description: > 7 Object.create - 'writable' property of one property in 8 'Properties' is own accessor property that overrides an inherited 9 data property (8.10.5 step 6.a) 10 ---*/ 11 12 var proto = { 13 writable: false 14 }; 15 16 var ConstructFun = function() {}; 17 ConstructFun.prototype = proto; 18 19 var descObj = new ConstructFun(); 20 21 Object.defineProperty(descObj, "writable", { 22 get: function() { 23 return true; 24 } 25 }); 26 27 var newObj = Object.create({}, { 28 prop: descObj 29 }); 30 31 var beforeWrite = (newObj.hasOwnProperty("prop") && typeof(newObj.prop) === "undefined"); 32 33 newObj.prop = "isWritable"; 34 35 var afterWrite = (newObj.prop === "isWritable"); 36 37 assert.sameValue(beforeWrite, true, 'beforeWrite'); 38 assert.sameValue(afterWrite, true, 'afterWrite'); 39 40 reportCompare(0, 0);