Backed out 3 changesets (bug 1892041) for causing failures on async-module-does-not...
[gecko.git] / js / src / tests / test262 / built-ins / Object / defineProperty / 15.2.3.6-4-253.js
bloba6fbb2221cbfda293244edbe4a0843073b216ecf
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-253
6 description: >
7     Object.defineProperty - 'O' is an Array, 'name' is an array index
8     named property, 'name' is accessor property and 'desc' is accessor
9     descriptor, and the [[Configurable]] attribute value of 'name' is
10     false, test TypeError is thrown if the [[Set]] field of 'desc' is
11     present, and the [[Set]] field of 'desc' is an object and the
12     [[Set]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)
13 includes: [propertyHelper.js]
14 ---*/
16 var arrObj = [];
18 function getFunc() {
19   return 12;
22 Object.defineProperty(arrObj, "1", {
23   get: getFunc,
24   set: undefined
25 });
27 try {
28   Object.defineProperty(arrObj, "1", {
29     set: function() {}
30   });
31   throw new Test262Error("Expected an exception.");
32 } catch (e) {
33   verifyEqualTo(arrObj, "1", getFunc());
35   verifyNotEnumerable(arrObj, "1");
37   verifyNotConfigurable(arrObj, "1");
39   if (!(e instanceof TypeError)) {
40     throw new Test262Error("Expected TypeError, got " + e);
41   }
45 reportCompare(0, 0);