18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * File Name: switch-003.js 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ECMA Section: 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Description: The switch Statement 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Attempt to verify that case statements are evaluated in source order 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Author: christine@netscape.com 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Date: 11 August 1998 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var SECTION = "switch-003"; 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var VERSION = "ECMA_2"; 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var TITLE = "The switch statement"; 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project startTest(); 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project writeHeaderToLog( SECTION + " "+ TITLE); 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var tc = 0; 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var testcases = new Array(); 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "a", "abc" ); 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "b", "bc" ); 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "c", "c" ); 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "d", "*abc" ); 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "v", "*abc" ); 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "w", "w*abc" ); 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "x", "xw*abc" ); 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "y", "yxw*abc" ); 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "z", "zyxw*abc" ); 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// SwitchTest( new java.lang.String("z"), "*abc" ); 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project test(); 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project function SwitchTest( input, expect ) { 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var result = ""; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project switch ( input ) { 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "z": result += "z"; 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "y": result += "y"; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "x": result += "x"; 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "w": result += "w"; 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project default: result += "*"; 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "a": result += "a"; 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "b": result += "b"; 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case "c": result += "c"; 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc++] = new TestCase( 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SECTION, 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "switch with no breaks: input is " + input, 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect, 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result ); 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project }