15.2.3.5-4-187.js (1003B)
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-187 6 description: > 7 Object.create - 'writable' property of one property in 8 'Properties' is own accessor 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 get: function() { 27 return true; 28 } 29 }); 30 31 var newObj = Object.create({}, { 32 prop: descObj 33 }); 34 35 var beforeWrite = (newObj.hasOwnProperty("prop") && typeof(newObj.prop) === "undefined"); 36 37 newObj.prop = "isWritable"; 38 39 var afterWrite = (newObj.prop === "isWritable"); 40 41 assert.sameValue(beforeWrite, true, 'beforeWrite'); 42 assert.sameValue(afterWrite, true, 'afterWrite'); 43 44 reportCompare(0, 0);