Backed out 3 changesets (bug 1892041) for causing failures on async-module-does-not...
[gecko.git] / js / src / tests / test262 / built-ins / Object / create / 15.2.3.5-4-311.js
blob169e7a69b9a160b4eb7f3b8e89d6f7a8cf16d549
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.5-4-311
6 description: >
7     Object.create - [[Set]] is set as undefined if it is absent in
8     accessor descriptor of one property in 'Properties' (8.12.9 step
9     4.b)
10 ---*/
12 var newObj = Object.create({}, {
13   prop: {
14     get: function() {
15       return "verifyCreate";
16     },
17     enumerable: true,
18     configurable: true
19   }
20 });
22 var desc = Object.getOwnPropertyDescriptor(newObj, "prop");
23 var verifySet = desc.hasOwnProperty("set") && typeof desc.set === "undefined";
25 var verifyGet = false;
26 if (newObj.prop === "verifyCreate") {
27   verifyGet = true;
30 var verifyEnumerable = false;
31 for (var p in newObj) {
32   if (p === "prop") {
33     verifyEnumerable = true;
34   }
37 var verifyConfigurable = false;
38 var hasProperty = newObj.hasOwnProperty("prop");
39 delete newObj.prop;
40 verifyConfigurable = !newObj.hasOwnProperty("prop") && hasProperty;
42 assert(verifySet, 'verifySet !== true');
43 assert(verifyGet, 'verifyGet !== true');
44 assert(verifyEnumerable, 'verifyEnumerable !== true');
45 assert(verifyConfigurable, 'verifyConfigurable !== true');
47 reportCompare(0, 0);