Bug 1892041 - Part 2: Update test262. r=spidermonkey-reviewers,dminor
[gecko.git] / js / src / tests / test262 / built-ins / Object / defineProperty / 15.2.3.6-4-227.js
bloba01f415dac88ff787519b3e3bbbcfcff9129f57f
1 // Copyright (c) 2012 Ecma International.  All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /*---
5 es5id: 15.2.3.6-4-227
6 description: >
7     Object.defineProperty - 'O' is an Array, 'name' is an array index
8     property, test TypeError is thrown when the [[Value]] field of
9     'desc' and the [[Value]] attribute value of 'name' are two objects
10     which refer to two different objects (15.4.5.1 step 4.c)
11 includes: [propertyHelper.js]
12 ---*/
14 var arrObj = [];
16 var obj1 = {
17   length: 10
19 Object.defineProperty(arrObj, 0, {
20   value: obj1,
21   writable: false,
22   configurable: false
23 });
25 var obj2 = {
26   length: 20
29 try {
30   Object.defineProperty(arrObj, "0", {
31     value: obj2
32   });
33   throw new Test262Error("Expected an exception.");
34 } catch (e) {
35   if (!(e instanceof TypeError)) {
36     throw new Test262Error("Expected TypeError, got " + e);
37   }
40 verifyProperty(arrObj, "0", {
41   value: obj1,
42   writable: false,
43   enumerable: false,
44   configurable: false,
45 });
47 reportCompare(0, 0);