michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: 15.4.2.2-2.js michael@0: ECMA Section: 15.4.2.2 new Array(len) michael@0: michael@0: Description: This description only applies of the constructor is michael@0: given two or more arguments. michael@0: michael@0: The [[Prototype]] property of the newly constructed michael@0: object is set to the original Array prototype object, michael@0: the one that is the initial value of Array.prototype(0) michael@0: (15.4.3.1). michael@0: michael@0: The [[Class]] property of the newly constructed object michael@0: is set to "Array". michael@0: michael@0: If the argument len is a number, then the length michael@0: property of the newly constructed object is set to michael@0: ToUint32(len). michael@0: michael@0: If the argument len is not a number, then the length michael@0: property of the newly constructed object is set to 1 michael@0: and the 0 property of the newly constructed object is michael@0: set to len. michael@0: michael@0: This file tests length of the newly constructed array michael@0: when len is not a number. michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 7 october 1997 michael@0: */ michael@0: var SECTION = "15.4.2.2-2"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "The Array Constructor: new Array( len )"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(new Number(1073741823))).length", michael@0: 1, michael@0: (new Array(new Number(1073741823))).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(new Number(0))).length", michael@0: 1, michael@0: (new Array(new Number(0))).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(new Number(1000))).length", michael@0: 1, michael@0: (new Array(new Number(1000))).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array('mozilla, larryzilla, curlyzilla')).length", michael@0: 1, michael@0: (new Array('mozilla, larryzilla, curlyzilla')).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(true)).length", michael@0: 1, michael@0: (new Array(true)).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(false)).length", michael@0: 1, michael@0: (new Array(false)).length); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(new Boolean(true)).length", michael@0: 1, michael@0: (new Array(new Boolean(true))).length ); michael@0: michael@0: new TestCase( SECTION, michael@0: "(new Array(new Boolean(false)).length", michael@0: 1, michael@0: (new Array(new Boolean(false))).length ); michael@0: michael@0: test();