|
1 /* |
|
2 * Any copyright is dedicated to the Public Domain. |
|
3 * http://creativecommons.org/licenses/publicdomain/ |
|
4 */ |
|
5 |
|
6 /* Object.isFrozen */ |
|
7 |
|
8 assertEq(Object.isFrozen({}), false); |
|
9 |
|
10 assertEq(Object.isFrozen(Object.preventExtensions({})), true); |
|
11 |
|
12 var o = Object.defineProperty({}, 'x', { writable:true, configurable:true }); |
|
13 Object.preventExtensions(o); |
|
14 assertEq(Object.isFrozen(o), false); |
|
15 |
|
16 var o = Object.defineProperty({}, 'x', { writable:false, configurable:true }); |
|
17 Object.preventExtensions(o); |
|
18 assertEq(Object.isFrozen(o), false); |
|
19 |
|
20 var o = Object.defineProperty({}, 'x', { writable:true, configurable:false }); |
|
21 Object.preventExtensions(o); |
|
22 assertEq(Object.isFrozen(o), false); |
|
23 |
|
24 var o = Object.defineProperty({}, 'x', { writable:false, configurable:false }); |
|
25 assertEq(Object.isFrozen(o), false); |
|
26 |
|
27 var o = Object.defineProperty({}, 'x', { writable:false, configurable:false }); |
|
28 Object.preventExtensions(o); |
|
29 assertEq(Object.isFrozen(o), true); |
|
30 |
|
31 var o = Object.defineProperties({}, { x: { writable:true, configurable:true }, |
|
32 y: { writable:false, configurable:false } }); |
|
33 Object.preventExtensions(o); |
|
34 assertEq(Object.isFrozen(o), false); |
|
35 |
|
36 var o = Object.defineProperties({}, { x: { writable:false, configurable:false }, |
|
37 y: { writable:true, configurable:true } }); |
|
38 Object.preventExtensions(o); |
|
39 assertEq(Object.isFrozen(o), false); |
|
40 |
|
41 var o = Object.defineProperties({}, { x: { writable:true, configurable:true }, |
|
42 y: { writable:true, configurable:true } }); |
|
43 Object.preventExtensions(o); |
|
44 assertEq(Object.isFrozen(o), false); |
|
45 |
|
46 reportCompare(true, true); |