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: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 600392; michael@0: var summary = michael@0: 'Object.preventExtensions([]).length = 0 should do nothing, not throw'; michael@0: michael@0: print(BUGNUMBER + ": " + summary); michael@0: michael@0: /************** michael@0: * BEGIN TEST * michael@0: **************/ michael@0: michael@0: michael@0: function testEmpty() michael@0: { michael@0: var a = []; michael@0: assertEq(a.length, 0); michael@0: assertEq(Object.preventExtensions(a), a); michael@0: assertEq(a.length, 0); michael@0: a.length = 0; michael@0: assertEq(a.length, 0); michael@0: } michael@0: testEmpty(); michael@0: michael@0: function testEmptyStrict() michael@0: { michael@0: "use strict"; michael@0: var a = []; michael@0: assertEq(a.length, 0); michael@0: assertEq(Object.preventExtensions(a), a); michael@0: assertEq(a.length, 0); michael@0: a.length = 0; michael@0: assertEq(a.length, 0); michael@0: } michael@0: testEmptyStrict(); michael@0: michael@0: function testNonEmpty() michael@0: { michael@0: var a = [1, 2, 3]; michael@0: assertEq(a.length, 3); michael@0: assertEq(Object.preventExtensions(a), a); michael@0: assertEq(a.length, 3); michael@0: a.length = 0; michael@0: assertEq(a.length, 0); michael@0: } michael@0: testNonEmpty(); michael@0: michael@0: function testNonEmptyStrict() michael@0: { michael@0: "use strict"; michael@0: var a = [1, 2, 3]; michael@0: assertEq(a.length, 3); michael@0: assertEq(Object.preventExtensions(a), a); michael@0: assertEq(a.length, 3); michael@0: a.length = 0; michael@0: assertEq(a.length, 0); michael@0: } michael@0: testNonEmptyStrict(); michael@0: michael@0: /******************************************************************************/ michael@0: michael@0: if (typeof reportCompare === "function") michael@0: reportCompare(true, true); michael@0: michael@0: print("All tests passed!");