Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // Normal checks:
2 function mul(x, y) {
3 return x*y;
4 }
5 assertEq(mul(1, 2), 2);
6 assertEq(mul(0, 2), 0);
7 assertEq(mul(0, -1), -0);
8 assertEq(mul(100000000, 20000), 2000000000000);
9 assertEq(mul(0, -2), -0);
10 assertEq(mul(0, 0), 0);
12 // Constant * value checks:
13 assertEq(function(x){return x*1}(4), 4);
14 assertEq(function(x){return x*1}(0), 0);
15 assertEq(function(x){return x*1}(-4), -4);
16 assertEq(function(x){return x*2}(4), 8);
17 assertEq(function(x){return x*2}(0), 0);
18 assertEq(function(x){return x*2}(-4), -8);
19 assertEq(function(x){return x*2}(2000000000), 4000000000);
20 assertEq(function(x){return x*5}(4), 20);
21 assertEq(function(x){return x*5}(0), 0);
22 assertEq(function(x){return x*5}(-4), -20);
23 assertEq(function(x){return x*0}(0), 0);
24 assertEq(function(x){return x*0}(5), 0);
25 assertEq(function(x){return x*0}(-5), -0);
26 assertEq(function(x){return x*-5}(4), -20);
27 assertEq(function(x){return x*-5}(0), -0);
28 assertEq(function(x){return x*-5}(-4), 20);
29 assertEq(function(x){return x*20000}(100000000), 2000000000000);
31 // Constant folding
32 assertEq(function(){var x=5; return x*4}(), 20);
33 assertEq(function(){var x=5; return x*-4}(), -20);
34 assertEq(function(){var x=0; return x*4}(), 0);
35 assertEq(function(){var x=0; return x*0}(), 0);
36 assertEq(function(){var x=0; return x*-4}(), -0);
37 assertEq(function(){var x=20000; return x*100000000}(), 2000000000000);