]> git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_2/Statements/switch-002.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / mozilla / ecma_2 / Statements / switch-002.js
1 /**
2 * File Name: switch-002.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-002";
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( 0, 6 );
23 SwitchTest( 1, 4 );
24 SwitchTest( 2, 56 );
25 SwitchTest( 3, 48 );
26 SwitchTest( 4, 64 );
27 SwitchTest( true, 32 );
28 SwitchTest( false, 32 );
29 SwitchTest( null, 32 );
30 SwitchTest( void 0, 32 );
31 SwitchTest( "0", 32 );
32
33 test();
34
35 function SwitchTest( input, expect ) {
36 var result = 0;
37
38 switch ( input ) {
39 case 0:
40 result += 2;
41 case 1:
42 result += 4;
43 break;
44 case 2:
45 result += 8;
46 case 3:
47 result += 16;
48 default:
49 result += 32;
50 break;
51 case 4:
52 result += 64;
53 }
54
55 testcases[tc++] = new TestCase(
56 SECTION,
57 "switch with no breaks: input is " + input,
58 expect,
59 result );
60 }