18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * File Name: switch-002.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 * A simple switch test with no abrupt completions. 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-002"; 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( 0, 6 ); 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 1, 4 ); 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 2, 56 ); 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 3, 48 ); 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 4, 64 ); 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( true, 32 ); 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( false, 32 ); 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( null, 32 ); 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( void 0, 32 ); 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "0", 32 ); 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 = 0; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project switch ( input ) { 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 0: 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 2; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 1: 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 4; 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project break; 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 2: 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 8; 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 3: 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 16; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project default: 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 32; 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project break; 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 4: 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 64; 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc++] = new TestCase( 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SECTION, 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "switch with no breaks: input is " + input, 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect, 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result ); 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 61