blob: 90c374bd17f10b1b587e2a6ca0afd2247410ebcd [file] [log] [blame]
fpizlo@apple.combaac2b92015-04-29 15:55:54 +00001function foo(value) {
2 switch (typeof value) {
3 case "undefined":
4 return 0;
5 case "object":
6 return 1;
7 case "function":
8 return 2;
9 case "boolean":
10 return 3;
11 case "number":
12 return 4;
13 case "string":
14 return 5;
15 default:
16 return 6;
17 }
18}
19
20noInline(foo);
21
22function test(value, expected) {
23 var result = foo(value);
24 if (result != expected)
25 throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")";
26}
27
28for (var i = 0; i < 10000; ++i) {
29 test(void 0, 0);
30 test({}, 1);
31 test(function() { return 42; }, 2);
32 test(true, 3);
33 test(42, 4);
34 test(42.5, 4);
35 test("hello", 5);
36}