15.2.3.6-4-193.js (994B)
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-4-193 6 description: > 7 Object.defineProperty - 'O' is an Array, 'name' is an array index 8 named property, 'name' is own data property that overrides an 9 inherited accessor property, test TypeError is thrown when update 10 the [[Configurable]] attribute to true and value of 11 [[Configurable]] attribute of original is false (15.4.5.1 step 12 4.c) 13 ---*/ 14 15 var arrObj = []; 16 17 assert.throws(TypeError, function() { 18 Object.defineProperty(Array.prototype, "0", { 19 get: function() { 20 return 11; 21 }, 22 configurable: true 23 }); 24 25 Object.defineProperty(arrObj, "0", { 26 value: 12, 27 configurable: false 28 }); 29 30 Object.defineProperty(arrObj, "0", { 31 configurable: true 32 }); 33 }); 34 assert.sameValue(Array.prototype[0], 11, 'Array.prototype[0]'); 35 assert.sameValue(arrObj[0], 12, 'arrObj[0]'); 36 37 reportCompare(0, 0);