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