js/src/jit-test/tests/jaeger/testTableSwitchX.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/jaeger/testTableSwitchX.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,25 @@
     1.4 +// Tests for JSOP_TABLESWITCHX.
     1.5 +function test1() {
     1.6 +    var src =
     1.7 +        "var a = 0;\n" +
     1.8 +        "switch(x) {\n";
     1.9 +    for (var i=-1; i<4; i++) {
    1.10 +        src += (i >= 0) ?
    1.11 +                "case " + i + ":\n" :
    1.12 +                "default:\n";
    1.13 +        for (var j=0; j<1500; j++) {
    1.14 +            src += "a = " + i + ";";
    1.15 +        }
    1.16 +        src += "break;\n";
    1.17 +    }
    1.18 +    src += "}\n";
    1.19 +    src += "return a;";
    1.20 +
    1.21 +    var f = new Function("x", src);
    1.22 +    assertEq(f(0), 0);
    1.23 +    assertEq(f(4), -1);
    1.24 +    assertEq(f(), -1);
    1.25 +    assertEq(f(1.1), -1);
    1.26 +    assertEq(f(3), 3);
    1.27 +}
    1.28 +test1();

mercurial