15.2.3.7-6-a-236.js (999B)
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.7-6-a-236 6 description: > 7 Object.defineProperties - TypeError is thrown if 'O' is an Array, 8 'P' is an array index named property that already exists on 'O' is 9 data property with [[Configurable]], [[Writable]] false, 'desc' 10 is data descriptor, [[Value]] field of 'desc' is -0, and the 11 [[Value]] attribute value of 'P' is +0 (15.4.5.1 step 4.c) 12 includes: [propertyHelper.js] 13 ---*/ 14 15 var arr = []; 16 17 Object.defineProperty(arr, "1", { 18 value: -0 19 }); 20 21 try { 22 Object.defineProperties(arr, { 23 "1": { 24 value: +0 25 } 26 }); 27 28 throw new Test262Error("Expected an exception."); 29 } catch (e) { 30 if (!(e instanceof TypeError)) { 31 throw new Test262Error("Expected TypeError, got " + e); 32 } 33 } 34 35 verifyProperty(arr, "1", { 36 value: -0, 37 writable: false, 38 enumerable: false, 39 configurable: false, 40 }); 41 42 reportCompare(0, 0);