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 load(libdir + "asserts.js");
3 function testArrayThrows() {
4 // Test kernel not being callable.
5 var a = [1,2,3,4,5,6,7,8];
6 for (var [opName, args] in ["mapPar", [{}],
7 "filterPar", [{}],
8 "reducePar", [{}],
9 "scanPar", [{}]])
10 {
11 assertThrowsInstanceOf(function () { a[opName].apply(a, args); }, TypeError);
12 }
14 assertThrowsInstanceOf(function () {
15 a.scatterPar(a, 0, {});
16 }, TypeError);
18 assertThrowsInstanceOf(function () {
19 Array.buildPar(1024, {});
20 }, TypeError);
22 // Test bad lengths.
23 assertThrowsInstanceOf(function () {
24 Array.buildPar(0xffffffff + 1, function () {});
25 }, RangeError);
27 assertThrowsInstanceOf(function () {
28 a.scatterPar(a, 0, function () {}, 0xffffffff + 1);
29 }, RangeError);
31 // Test empty reduction.
32 for (var opName in ["reducePar", "scanPar"]) {
33 assertThrowsInstanceOf(function () {
34 var a = [];
35 a[opName](function (v, p) { return v * p; });
36 }, TypeError);
37 }
39 // Test scatter:
40 // - no conflict function.
41 // - out of bounds
42 var p = [1,2,3,4,5];
44 assertThrowsInstanceOf(function () {
45 p.scatterPar([0,1,0,3,4]);
46 }, Error);
48 assertThrowsInstanceOf(function () {
49 p.scatterPar([0,1,0,3,11]);
50 }, Error);
51 }
53 if (getBuildConfiguration().parallelJS)
54 testArrayThrows();