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    }
61