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 var calls = 0;
2 function g() {
3 calls++;
4 };
5 function test1() {
6 for (var i=0; i<20; i++) {
7 if (i > 18)
8 g() = 2;
9 }
10 }
11 try {
12 test1();
13 assertEq(0, 1);
14 } catch(e) {
15 assertEq(e instanceof ReferenceError, true);
16 }
18 assertEq(calls, 1);
20 function test2() {
21 for (var i=0; i<20; i++) {
22 if (i > 18)
23 g()++;
24 }
25 }
26 try {
27 test2();
28 assertEq(0, 1);
29 } catch(e) {
30 assertEq(e instanceof ReferenceError, true);
31 }
32 assertEq(calls, 2);
34 function test3() {
35 var v1, v2, v3;
36 var z = [1, 2, 3];
37 for (var i=0; i<15; i++) {
38 if (i > 12)
39 [v1, v2, g(), v3] = z
40 }
41 }
42 try {
43 test3();
44 assertEq(0, 1);
45 } catch(e) {
46 assertEq(e instanceof ReferenceError, true);
47 }
48 assertEq(calls, 3);
50 function test4() {
51 for (var i=0; i<20; i++) {
52 if (i > 18)
53 g() >>= 2;
54 }
55 }
56 try {
57 test4();
58 assertEq(0, 1);
59 } catch(e) {
60 assertEq(e instanceof ReferenceError, true);
61 }
63 assertEq(calls, 4);