| var typedSwitch0 = function (a) { |
| switch (a) { |
| case null: |
| return 0; |
| case 1.1: |
| return 1; |
| case "2": |
| return 2; |
| case 3: |
| return 3; |
| } |
| return 4; |
| }; |
| |
| // reuse the same function for testing with different inputs & type. |
| var typedSwitch1 = eval(typedSwitch0.toSource()); |
| var typedSwitch2 = eval(typedSwitch0.toSource()); |
| var typedSwitch3 = eval(typedSwitch0.toSource()); |
| var typedSwitch4 = eval(typedSwitch0.toSource()); |
| |
| for (var i = 0; i < 100; i++) { |
| assertEq(typedSwitch0(null), 0); |
| assertEq(typedSwitch1(1.1), 1); |
| assertEq(typedSwitch2("2"), 2); |
| assertEq(typedSwitch3(3), 3); |
| assertEq(typedSwitch4(undefined), 4); |
| } |