diff options
Diffstat (limited to 'JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-003.js')
-rw-r--r-- | JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-003.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-003.js b/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-003.js new file mode 100644 index 0000000..6a1389c --- /dev/null +++ b/JavaScriptCore/tests/mozilla/ecma_2/Statements/switch-003.js @@ -0,0 +1,54 @@ +/** + * File Name: switch-003.js + * ECMA Section: + * Description: The switch Statement + * + * Attempt to verify that case statements are evaluated in source order + * + * Author: christine@netscape.com + * Date: 11 August 1998 + * + */ + var SECTION = "switch-003"; + var VERSION = "ECMA_2"; + var TITLE = "The switch statement"; + + startTest(); + writeHeaderToLog( SECTION + " "+ TITLE); + + var tc = 0; + var testcases = new Array(); + + SwitchTest( "a", "abc" ); + SwitchTest( "b", "bc" ); + SwitchTest( "c", "c" ); + SwitchTest( "d", "*abc" ); + SwitchTest( "v", "*abc" ); + SwitchTest( "w", "w*abc" ); + SwitchTest( "x", "xw*abc" ); + SwitchTest( "y", "yxw*abc" ); + SwitchTest( "z", "zyxw*abc" ); +// SwitchTest( new java.lang.String("z"), "*abc" ); + + test(); + + function SwitchTest( input, expect ) { + var result = ""; + + switch ( input ) { + case "z": result += "z"; + case "y": result += "y"; + case "x": result += "x"; + case "w": result += "w"; + default: result += "*"; + case "a": result += "a"; + case "b": result += "b"; + case "c": result += "c"; + } + + testcases[tc++] = new TestCase( + SECTION, + "switch with no breaks: input is " + input, + expect, + result ); + }
\ No newline at end of file |