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 function failWrapper(callback) {
2 try {
3 callback(); // this should fail
4 throw "test-error"; // and if it didn't we have a problem`
5 } catch (e) {
6 if (e == "test-error")
7 throw ("Testing error when running " + callback.toString());
8 }
9 }
12 print ("Deleting standard classes");
13 delete Function;
14 delete Object;
15 delete Array;
16 delete Boolean;
17 delete JSON;
18 delete Date;
19 delete Math;
20 delete Number;
21 delete String;
22 delete Regexp;
23 delete Reflect;
24 delete Proxy;
25 delete Error;
26 delete Iterator;
27 delete Generator;
28 delete StopIteration;
29 delete Float32Array;
30 delete Float64Array;
31 delete Int16Array;
32 delete Int32Array;
33 delete Int32Array;
34 delete Uint16Array;
35 delete Uint32Array;
36 delete Uint8Array;
37 delete Uint8ClampedArray;
38 delete Weakmap;
41 print ("Accessing standard classes shouldn't recreate them");
42 failWrapper(function () { Function; });
43 failWrapper(function () { Object; });
44 failWrapper(function () { Array; });
45 failWrapper(function () { Boolean; });
46 failWrapper(function () { JSON; });
47 failWrapper(function () { Date; });
48 failWrapper(function () { Math; });
49 failWrapper(function () { Number; });
50 failWrapper(function () { String; });
51 failWrapper(function () { Regexp; });
52 failWrapper(function () { Reflect; });
53 failWrapper(function () { Proxy; });
54 failWrapper(function () { Error; });
55 failWrapper(function () { Iterator; });
56 failWrapper(function () { Generator; });
57 failWrapper(function () { StopIteration; });
58 failWrapper(function () { Float32Array; });
59 failWrapper(function () { Float64Array; });
60 failWrapper(function () { Int16Array; });
61 failWrapper(function () { Int32Array; });
62 failWrapper(function () { Int32Array; });
63 failWrapper(function () { Uint16Array; });
64 failWrapper(function () { Uint32Array; });
65 failWrapper(function () { Uint8Array; });
66 failWrapper(function () { Uint8ClampedArray; });
67 failWrapper(function () { Weakmap; });
70 print ("Enumerate over the global object");
71 for (c in this) {}
73 print ("That shouldn't have recreated the standard classes either");
74 failWrapper(function () { Function; });
75 failWrapper(function () { Object; });
76 failWrapper(function () { Array; });
77 failWrapper(function () { Boolean; });
78 failWrapper(function () { JSON; });
79 failWrapper(function () { Date; });
80 failWrapper(function () { Math; });
81 failWrapper(function () { Number; });
82 failWrapper(function () { String; });
83 failWrapper(function () { Regexp; });
84 failWrapper(function () { Reflect; });
85 failWrapper(function () { Proxy; });
86 failWrapper(function () { Error; });
87 failWrapper(function () { Iterator; });
88 failWrapper(function () { Generator; });
89 failWrapper(function () { StopIteration; });
90 failWrapper(function () { Float32Array; });
91 failWrapper(function () { Float64Array; });
92 failWrapper(function () { Int16Array; });
93 failWrapper(function () { Int32Array; });
94 failWrapper(function () { Int32Array; });
95 failWrapper(function () { Uint16Array; });
96 failWrapper(function () { Uint32Array; });
97 failWrapper(function () { Uint8Array; });
98 failWrapper(function () { Uint8ClampedArray; });
99 failWrapper(function () { Weakmap; });
101 print ("success");