1/** 2 * File Name: switch-003.js 3 * ECMA Section: 4 * Description: The switch Statement 5 * 6 * Attempt to verify that case statements are evaluated in source order 7 * 8 * Author: christine@netscape.com 9 * Date: 11 August 1998 10 * 11 */ 12 var SECTION = "switch-003"; 13 var VERSION = "ECMA_2"; 14 var TITLE = "The switch statement"; 15 16 startTest(); 17 writeHeaderToLog( SECTION + " "+ TITLE); 18 19 var tc = 0; 20 var testcases = new Array(); 21 22 SwitchTest( "a", "abc" ); 23 SwitchTest( "b", "bc" ); 24 SwitchTest( "c", "c" ); 25 SwitchTest( "d", "*abc" ); 26 SwitchTest( "v", "*abc" ); 27 SwitchTest( "w", "w*abc" ); 28 SwitchTest( "x", "xw*abc" ); 29 SwitchTest( "y", "yxw*abc" ); 30 SwitchTest( "z", "zyxw*abc" ); 31// SwitchTest( new java.lang.String("z"), "*abc" ); 32 33 test(); 34 35 function SwitchTest( input, expect ) { 36 var result = ""; 37 38 switch ( input ) { 39 case "z": result += "z"; 40 case "y": result += "y"; 41 case "x": result += "x"; 42 case "w": result += "w"; 43 default: result += "*"; 44 case "a": result += "a"; 45 case "b": result += "b"; 46 case "c": result += "c"; 47 } 48 49 testcases[tc++] = new TestCase( 50 SECTION, 51 "switch with no breaks: input is " + input, 52 expect, 53 result ); 54 }