Backed out 3 changesets (bug 1892041) for causing failures on async-module-does-not...
[gecko.git] / js / src / tests / test262 / built-ins / Object / defineProperties / 15.2.3.7-6-a-93-2.js
blob3426413f72743090c57830aaf0c72ebddcef2fc0
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.7-6-a-93-2
6 description: >
7     Object.defineProperties will update [[Value]] attribute of indexed
8     data property 'P' successfully when [[Configurable]] attribute is
9     true and [[Writable]] attribute is false but not when both are
10     false (8.12.9 - step Note & 10.a.ii.1)
11 includes: [propertyHelper.js]
12 ---*/
15 var obj = {};
17 Object.defineProperty(obj, "0", {
18   value: 1001,
19   writable: false,
20   configurable: true
21 });
23 Object.defineProperty(obj, "1", {
24   value: 1003,
25   writable: false,
26   configurable: false
27 });
29 try {
30   Object.defineProperties(obj, {
31     0: {
32       value: 1002
33     },
34     1: {
35       value: 1004
36     }
37   });
39   throw new Test262Error("Expected an exception.");
40 } catch (e) {
41   verifyEqualTo(obj, "0", 1002);
43   verifyNotWritable(obj, "0");
45   verifyNotEnumerable(obj, "0");
47   verifyConfigurable(obj, "0");
48   verifyEqualTo(obj, "1", 1003);
50   verifyNotWritable(obj, "1");
52   verifyNotEnumerable(obj, "1");
54   verifyNotConfigurable(obj, "1");
56   if (!(e instanceof TypeError)) {
57     throw new Test262Error("Expected TypeError, got " + e);
58   }
62 reportCompare(0, 0);