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.5.2-1.js michael@0: ECMA Section: Array.length michael@0: Description: michael@0: 15.4.5.2 length michael@0: The length property of this Array object is always numerically greater michael@0: than the name of every property whose name is an array index. michael@0: michael@0: The length property has the attributes { DontEnum, DontDelete }. michael@0: Author: christine@netscape.com michael@0: Date: 12 november 1997 michael@0: */ michael@0: michael@0: var SECTION = "15.4.5.2-1"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "Array.length"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A.length", michael@0: 0, michael@0: eval("var A = new Array(); A.length") ); michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A[Math.pow(2,32)-2] = 'hi'; A.length", michael@0: Math.pow(2,32)-1, michael@0: eval("var A = new Array(); A[Math.pow(2,32)-2] = 'hi'; A.length") ); michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A.length = 123; A.length", michael@0: 123, michael@0: eval("var A = new Array(); A.length = 123; A.length") ); michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A.length = 123; var PROPS = ''; for ( var p in A ) { PROPS += ( p == 'length' ? p : ''); } PROPS", michael@0: "", michael@0: eval("var A = new Array(); A.length = 123; var PROPS = ''; for ( var p in A ) { PROPS += ( p == 'length' ? p : ''); } PROPS") ); michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A.length = 123; delete A.length", michael@0: false , michael@0: eval("var A = new Array(); A.length = 123; delete A.length") ); michael@0: new TestCase( SECTION, michael@0: "var A = new Array(); A.length = 123; delete A.length; A.length", michael@0: 123, michael@0: eval("var A = new Array(); A.length = 123; delete A.length; A.length") ); michael@0: test(); michael@0: