Bug 1892041 - Part 2: Update test262. r=spidermonkey-reviewers,dminor
[gecko.git] / js / src / tests / test262 / built-ins / Object / defineProperties / 15.2.3.7-6-a-91.js
blob94a43927be3d3492345e826663d46a004786c360
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-91
6 description: >
7     Object.defineProperties throws TypeError when P.configurable is
8     false, both properties.[[Get]] and P.[[Get]] are two objects which
9     refer to different objects (8.12.9 step 11.a.ii)
10 includes: [propertyHelper.js]
11 ---*/
14 var obj = {};
16 function set_func(value) {
17   obj.setVerifyHelpProp = value;
20 function get_func1() {
21   return 10;
24 Object.defineProperty(obj, "foo", {
25   get: get_func1,
26   set: set_func,
27   enumerable: false,
28   configurable: false
29 });
31 function get_func2() {
32   return 20;
35 try {
36   Object.defineProperties(obj, {
37     foo: {
38       get: get_func2
39     }
40   });
41   throw new Test262Error("Expected an exception");
42 } catch (e) {
43   verifyEqualTo(obj, "foo", get_func1());
45   verifyWritable(obj, "foo", "setVerifyHelpProp");
47   if (!(e instanceof TypeError)) {
48     throw new Test262Error("Expected TypeError, got " + e);
49   }
52 verifyProperty(obj, "foo", {
53   enumerable: false,
54   configurable: false,
55 });
57 reportCompare(0, 0);