1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/basic/testCondSwitch1.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,46 @@ 1.4 +function get(x) { 1.5 + return x; 1.6 +} 1.7 + 1.8 +function f(x) { 1.9 + switch(x) { 1.10 + case get(0): 1.11 + return 0; 1.12 + case get(1): 1.13 + return 1; 1.14 + case get("foo"): 1.15 + return "foo"; 1.16 + case get(true): 1.17 + return true; 1.18 + case get(false): 1.19 + return false; 1.20 + case get({}): 1.21 + return {}; 1.22 + case get(null): 1.23 + return null; 1.24 + case Number.MIN_VALUE: 1.25 + return Number.MIN_VALUE; 1.26 + case Math: 1.27 + return Math; 1.28 + default: 1.29 + return -123; 1.30 + } 1.31 +} 1.32 + 1.33 +assertEq(f(0), 0); 1.34 +assertEq(f(-0), 0); 1.35 +assertEq(f(1), 1); 1.36 +assertEq(f("foo"), "foo"); 1.37 +assertEq(f(true), true); 1.38 +assertEq(f(false), false); 1.39 +assertEq(f({}), -123); 1.40 +assertEq(f([]), -123); 1.41 +assertEq(f(Math), Math); 1.42 + 1.43 +assertEq(f({x:1}), -123); 1.44 +assertEq(f(333), -123); 1.45 +assertEq(f(null), null); 1.46 +assertEq(f(undefined), -123); 1.47 + 1.48 +assertEq(f(Number.MIN_VALUE), Number.MIN_VALUE); 1.49 +