michael@0: /* michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ michael@0: */ michael@0: michael@0: /* Object.isFrozen */ michael@0: michael@0: assertEq(Object.isFrozen({}), false); michael@0: michael@0: assertEq(Object.isFrozen(Object.preventExtensions({})), true); michael@0: michael@0: var o = Object.defineProperty({}, 'x', { writable:true, configurable:true }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperty({}, 'x', { writable:false, configurable:true }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperty({}, 'x', { writable:true, configurable:false }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperty({}, 'x', { writable:false, configurable:false }); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperty({}, 'x', { writable:false, configurable:false }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), true); michael@0: michael@0: var o = Object.defineProperties({}, { x: { writable:true, configurable:true }, michael@0: y: { writable:false, configurable:false } }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperties({}, { x: { writable:false, configurable:false }, michael@0: y: { writable:true, configurable:true } }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: var o = Object.defineProperties({}, { x: { writable:true, configurable:true }, michael@0: y: { writable:true, configurable:true } }); michael@0: Object.preventExtensions(o); michael@0: assertEq(Object.isFrozen(o), false); michael@0: michael@0: reportCompare(true, true);