15.2.3.7-6-a-160.js (812B)
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-160 6 description: > 7 Object.defineProperties - 'O' is an Array, 'P' is the length 8 property of 'O', the [[Value]] field of 'desc' is less than value 9 of the length property, test TypeError is thrown when the 10 [[Writable]] attribute of the length property is false (15.4.5.1 11 step 3.g) 12 ---*/ 13 14 var arr = [0, 1]; 15 16 Object.defineProperty(arr, "length", { 17 writable: false 18 }); 19 assert.throws(TypeError, function() { 20 Object.defineProperties(arr, { 21 length: { 22 value: 0 23 } 24 }); 25 }); 26 assert.sameValue(arr.length, 2, 'arr.length'); 27 assert.sameValue(arr[0], 0, 'arr[0]'); 28 assert.sameValue(arr[1], 1, 'arr[1]'); 29 30 reportCompare(0, 0);