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: switch.js 24 Description: 'Tests the switch statement' 25 26 http://scopus.mcom.com/bugsplat/show_bug.cgi?id=323696 27 28 Author: Nick Lerissa 29 Date: March 19, 1998 30 */ 31 32 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; 33 var VERSION = 'no version'; 34 startTest(); 35 var TITLE = 'statements: switch'; 36 var BUGNUMBER="323696"; 37 38 writeHeaderToLog("Executing script: switch.js"); 39 writeHeaderToLog( SECTION + " "+ TITLE); 40 41 var count = 0; 42 var testcases = new Array(); 43 44 var var1 = "match string"; 45 var match1 = false; 46 var match2 = false; 47 var match3 = false; 48 49 switch (var1) 50 { 51 case "match string": 52 match1 = true; 53 case "bad string 1": 54 match2 = true; 55 break; 56 case "bad string 2": 57 match3 = true; 58 } 59 60 testcases[count++] = new TestCase ( SECTION, 'switch statement', 61 true, match1); 62 63 testcases[count++] = new TestCase ( SECTION, 'switch statement', 64 true, match2); 65 66 testcases[count++] = new TestCase ( SECTION, 'switch statement', 67 false, match3); 68 69 var var2 = 3; 70 71 var match1 = false; 72 var match2 = false; 73 var match3 = false; 74 var match4 = false; 75 var match5 = false; 76 77 switch (var2) 78 { 79 case 1: 80 /* switch (var1) 81 { 82 case "foo": 83 match1 = true; 84 break; 85 case 3: 86 match2 = true; 87 break; 88 }*/ 89 match3 = true; 90 break; 91 case 2: 92 match4 = true; 93 break; 94 case 3: 95 match5 = true; 96 break; 97 } 98 testcases[count++] = new TestCase ( SECTION, 'switch statement', 99 false, match1); 100 101 testcases[count++] = new TestCase ( SECTION, 'switch statement', 102 false, match2); 103 104 testcases[count++] = new TestCase ( SECTION, 'switch statement', 105 false, match3); 106 107 testcases[count++] = new TestCase ( SECTION, 'switch statement', 108 false, match4); 109 110 testcases[count++] = new TestCase ( SECTION, 'switch statement', 111 true, match5); 112 113 function test() 114 { 115 for ( tc=0; tc < testcases.length; tc++ ) { 116 testcases[tc].passed = writeTestCaseResult( 117 testcases[tc].expect, 118 testcases[tc].actual, 119 testcases[tc].description +" = "+ 120 testcases[tc].actual ); 121 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; 122 } 123 stopTest(); 124 return ( testcases ); 125 } 126 127 test(); 128