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-547-2.js
blob6b40da84ff60896f5755fbdbd552c642b453974c
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-547-2
6 description: >
7     ES5 Attributes - Updating a named accessor property 'P' whose
8     [[Configurable]] attribute is false to a data property does not
9     succeed, 'A' is an Arguments object (8.12.9 step 9.a)
10 includes: [propertyHelper.js]
11 ---*/
13 var obj = (function() {
14   return arguments;
15 }());
17 obj.verifySetFunc = "data";
18 var getFunc = function() {
19   return obj.verifySetFunc;
22 var setFunc = function(value) {
23   obj.verifySetFunc = value;
26 Object.defineProperty(obj, "prop", {
27   get: getFunc,
28   set: setFunc,
29   enumerable: true,
30   configurable: false
31 });
32 var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
34 try {
35   Object.defineProperty(obj, "prop", {
36     value: 1001
37   });
39   throw new Test262Error("Expected an exception.");
40 } catch (e) {
41   var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
43   if (!desc1.hasOwnProperty("get")) {
44     throw new Test262Error('Expected desc1.hasOwnProperty("get") to be true, actually ' + desc1.hasOwnProperty("get"));
45   }
47   if (desc2.hasOwnProperty("value")) {
48     throw new Test262Error('Expected !desc2.hasOwnProperty("value") to be true, actually ' + !desc2.hasOwnProperty("value"));
49   }
52   verifyEqualTo(obj, "prop", getFunc());
54   verifyWritable(obj, "prop", "verifySetFunc");
56   verifyEnumerable(obj, "prop");
58   verifyNotConfigurable(obj, "prop");
61   if (!(e instanceof TypeError)) {
62     throw new Test262Error("Expected TypeError, got " + e);
63   }
67 reportCompare(0, 0);