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-1.js michael@0: ECMA Section: 15.4 Array Objects michael@0: michael@0: Description: Every Array object has a length property whose value michael@0: is always an integer with positive sign and less than michael@0: Math.pow(2,32). michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 28 october 1997 michael@0: michael@0: */ michael@0: var SECTION = "15.4-1"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "Array Objects"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr[Math.pow(2,32)-2]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length", michael@0: (Math.pow(2,32)-1), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,32)-2]='hi'; myarr.length") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr[Math.pow(2,32)-3]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length", michael@0: (Math.pow(2,32)-2), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,32)-3]='hi'; myarr.length") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr[Math.pow(2,31)-2]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length", michael@0: (Math.pow(2,31)-1), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)-2]='hi'; myarr.length") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr[Math.pow(2,31)-1]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length", michael@0: (Math.pow(2,31)), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)-1]='hi'; myarr.length") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr[Math.pow(2,31)]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length", michael@0: (Math.pow(2,31)+1), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,31)]='hi'; myarr.length") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]", michael@0: "hi", michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr[Math.pow(2,30)-2]") michael@0: ); michael@0: michael@0: new TestCase(SECTION, michael@0: "var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length", michael@0: (Math.pow(2,30)-1), michael@0: eval("var myarr = new Array(); myarr[Math.pow(2,30)-2]='hi'; myarr.length") michael@0: ); michael@0: michael@0: test(); michael@0: