js/src/jit-test/tests/parallel/Array-throws.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

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();

mercurial