michael@0: /* michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ michael@0: * Contributor: michael@0: * Jeff Walden michael@0: */ michael@0: michael@0: var gTestfile = '15.2.3.4-01.js'; michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 492849; michael@0: var summary = 'ES5: Implement Object.preventExtensions, Object.isExtensible'; michael@0: michael@0: print(BUGNUMBER + ": " + summary); michael@0: michael@0: /************** michael@0: * BEGIN TEST * michael@0: **************/ michael@0: michael@0: assertEq(typeof Object.isExtensible, "function"); michael@0: assertEq(Object.isExtensible.length, 1); michael@0: michael@0: var slowArray = [1, 2, 3]; michael@0: slowArray.slow = 5; michael@0: var objs = michael@0: [{}, { 1: 2 }, { a: 3 }, [], [1], [, 1], slowArray, function a(){}, /a/]; michael@0: michael@0: for (var i = 0, sz = objs.length; i < sz; i++) michael@0: { michael@0: var o = objs[i]; michael@0: assertEq(Object.isExtensible(o), true, "object " + i + " not extensible?"); michael@0: michael@0: var o2 = Object.preventExtensions(o); michael@0: assertEq(o, o2); michael@0: michael@0: assertEq(Object.isExtensible(o), false, "object " + i + " is extensible?"); michael@0: } michael@0: michael@0: /******************************************************************************/ michael@0: michael@0: reportCompare(true, true); michael@0: michael@0: print("All tests passed!");