15.2.3.6-2-46.js (785B)
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.6-2-46 6 description: > 7 Object.defineProperty - argument 'P' is an object that has an own 8 toString and valueOf method 9 ---*/ 10 11 var obj = {}; 12 var toStringAccessed = false; 13 var valueOfAccessed = false; 14 15 var ownProp = { 16 toString: function() { 17 toStringAccessed = true; 18 return "abc"; 19 }, 20 valueOf: function() { 21 valueOfAccessed = true; 22 return "prop"; 23 } 24 }; 25 Object.defineProperty(obj, ownProp, {}); 26 27 assert(obj.hasOwnProperty("abc"), 'obj.hasOwnProperty("abc") !== true'); 28 assert.sameValue(valueOfAccessed, false, 'valueOfAccessed'); 29 assert(toStringAccessed, 'toStringAccessed !== true'); 30 31 reportCompare(0, 0);