1/** 2 * File Name: switch-001.js 3 * ECMA Section: 4 * Description: The switch Statement 5 * 6 * A simple switch test with no abrupt completions. 7 * 8 * Author: christine@netscape.com 9 * Date: 11 August 1998 10 * 11 */ 12 var SECTION = "switch-001"; 13 var VERSION = "ECMA_2"; 14 var TITLE = "The switch statement"; 15 16 var BUGNUMBER="315767"; 17 18 19 20 startTest(); 21 writeHeaderToLog( SECTION + " "+ TITLE); 22 23 var tc = 0; 24 var testcases = new Array(); 25 26 SwitchTest( 0, 126 ); 27 SwitchTest( 1, 124 ); 28 SwitchTest( 2, 120 ); 29 SwitchTest( 3, 112 ); 30 SwitchTest( 4, 64 ); 31 SwitchTest( 5, 96 ); 32 SwitchTest( true, 96 ); 33 SwitchTest( false, 96 ); 34 SwitchTest( null, 96 ); 35 SwitchTest( void 0, 96 ); 36 SwitchTest( "0", 96 ); 37 38 test(); 39 40 function SwitchTest( input, expect ) { 41 var result = 0; 42 43 switch ( input ) { 44 case 0: 45 result += 2; 46 case 1: 47 result += 4; 48 case 2: 49 result += 8; 50 case 3: 51 result += 16; 52 default: 53 result += 32; 54 case 4: 55 result +=64; 56 } 57 58 testcases[tc++] = new TestCase( 59 SECTION, 60 "switch with no breaks, case expressions are numbers. input is "+ 61 input, 62 expect, 63 result ); 64 } 65