Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // Tests for IFEQX and GOTOX ops.
2 function testIfElse() {
3 var src =
4 "var a = 0;\n" +
5 "if (x) {\n";
6 for (var i=0; i<7000; i++) {
7 src += "a = 1;";
8 }
9 src += "} else {\n";
10 for (var i=0; i<7000; i++) {
11 src += "a = 2;";
12 }
13 src += "}\n";
14 src += "return a;";
16 var f = new Function("x", src);
17 assertEq(f(true), 1);
18 assertEq(f(false), 2);
19 assertEq(f([1, 2, 3]), 1);
20 assertEq(f(), 2);
21 }
22 testIfElse();
24 function testWhile() {
25 var src =
26 "var i = 0, j = 0;\n" +
27 "while (i++ < 50) {\n";
28 for (var i=0; i<5000; i++) {
29 src += "j = i;";
30 }
31 src += "}\n";
32 src += "return j;";
34 var f = new Function(src);
35 assertEq(f(), 50);
36 }
37 testWhile();