1 /* The contents of this file are subject to the Netscape Public 2 * License Version 1.1 (the "License"); you may not use this file 3 * except in compliance with the License. You may obtain a copy of 4 * the License at http://www.mozilla.org/NPL/ 5 * 6 * Software distributed under the License is distributed on an "AS 7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 8 * implied. See the License for the specific language governing 9 * rights and limitations under the License. 10 * 11 * The Original Code is Mozilla Communicator client code, released March 12 * 31, 1998. 13 * 14 * The Initial Developer of the Original Code is Netscape Communications 15 * Corporation. Portions created by Netscape are 16 * Copyright (C) 1998 Netscape Communications Corporation. All 17 * Rights Reserved. 18 * 19 * Contributor(s): 20 * 21 */ 22 /** 23 Filename: general2.js 24 Description: 'This tests out some of the functionality on methods on the Array objects' 25 26 Author: Nick Lerissa 27 Date: Fri Feb 13 09:58:28 PST 1998 28 */ 29 30 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; 31 var VERSION = 'no version'; 32 startTest(); 33 var TITLE = 'String:push,splice,concat,unshift,sort'; 34 35 writeHeaderToLog('Executing script: general2.js'); 36 writeHeaderToLog( SECTION + " "+ TITLE); 37 38 var count = 0; 39 var testcases = new Array(); 40 41 42 array1 = new Array(); 43 array2 = []; 44 size = 10; 45 46 // this for loop populates array1 and array2 as follows: 47 // array1 = [0,1,2,3,4,....,size - 2,size - 1] 48 // array2 = [size - 1, size - 2,...,4,3,2,1,0] 49 for (var i = 0; i < size; i++) 50 { 51 array1.push(i); 52 array2.push(size - 1 - i); 53 } 54 55 // the following for loop reverses the order of array1 so 56 // that it should be similarly ordered to array2 57 for (i = array1.length; i > 0; i--) 58 { 59 array3 = array1.slice(1,i); 60 array1.splice(1,i-1); 61 array1 = array3.concat(array1); 62 } 63 64 // the following for loop reverses the order of array1 65 // and array2 66 for (i = 0; i < size; i++) 67 { 68 array1.push(array1.shift()); 69 array2.unshift(array2.pop()); 70 } 71 72 testcases[count++] = new TestCase( SECTION, "Array.push,pop,shift,unshift,slice,splice", true,String(array1) == String(array2)); 73 array1.sort(); 74 array2.sort(); 75 testcases[count++] = new TestCase( SECTION, "Array.sort", true,String(array1) == String(array2)); 76 77 test(); 78 79