| /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ |
| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| |
| /** |
| * File Name: switch-002.js |
| * ECMA Section: |
| * Description: The switch Statement |
| * |
| * A simple switch test with no abrupt completions. |
| * |
| * Author: christine@netscape.com |
| * Date: 11 August 1998 |
| * |
| */ |
| var SECTION = "switch-002"; |
| var VERSION = "ECMA_2"; |
| var TITLE = "The switch statement"; |
| |
| startTest(); |
| writeHeaderToLog( SECTION + " "+ TITLE); |
| |
| SwitchTest( 0, 6 ); |
| SwitchTest( 1, 4 ); |
| SwitchTest( 2, 56 ); |
| SwitchTest( 3, 48 ); |
| SwitchTest( 4, 64 ); |
| SwitchTest( true, 32 ); |
| SwitchTest( false, 32 ); |
| SwitchTest( null, 32 ); |
| SwitchTest( void 0, 32 ); |
| SwitchTest( "0", 32 ); |
| |
| test(); |
| |
| function SwitchTest( input, expect ) { |
| var result = 0; |
| |
| switch ( input ) { |
| case 0: |
| result += 2; |
| case 1: |
| result += 4; |
| break; |
| case 2: |
| result += 8; |
| case 3: |
| result += 16; |
| default: |
| result += 32; |
| break; |
| case 4: |
| result += 64; |
| } |
| |
| new TestCase( |
| SECTION, |
| "switch with no breaks: input is " + input, |
| expect, |
| result ); |
| } |