diff options
Diffstat (limited to 'Source/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-002.js')
-rw-r--r-- | Source/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-002.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-002.js b/Source/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-002.js new file mode 100644 index 0000000..20746a8 --- /dev/null +++ b/Source/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-002.js @@ -0,0 +1,60 @@ +/** + * 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); + + var tc = 0; + var testcases = new Array(); + + 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; + } + + testcases[tc++] = new TestCase( + SECTION, + "switch with no breaks: input is " + input, + expect, + result ); + } |