18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * File Name: switch-001.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-001"; 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 var BUGNUMBER="315767"; 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project startTest(); 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project writeHeaderToLog( SECTION + " "+ TITLE); 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var tc = 0; 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var testcases = new Array(); 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 0, 126 ); 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 1, 124 ); 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 2, 120 ); 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 3, 112 ); 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 4, 64 ); 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( 5, 96 ); 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( true, 96 ); 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( false, 96 ); 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( null, 96 ); 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( void 0, 96 ); 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SwitchTest( "0", 96 ); 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project test(); 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project function SwitchTest( input, expect ) { 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var result = 0; 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project switch ( input ) { 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 0: 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 2; 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 1: 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 4; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 2: 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 8; 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 3: 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 16; 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project default: 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result += 32; 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case 4: 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result +=64; 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc++] = new TestCase( 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SECTION, 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "switch with no breaks, case expressions are numbers. input is "+ 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project input, 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect, 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result ); 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 65