tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bug1292858.js (1622B)


      1 // |jit-test| --ion-warmup-threshold=50
      2 setJitCompilerOption("offthread-compilation.enable", 0);
      3 gcPreserveCode();
      4 
      5 function test1() {
      6    var caughtInvalidArguments = false;
      7    var a = -1
      8    try {
      9        var buf = new Uint8ClampedArray(a);
     10        throw new Error("didn't throw");
     11    } catch (e) {
     12        assertEq(e instanceof RangeError, true,
     13                "expected RangeError, instead threw: " + e);
     14        caughtInvalidArguments = true;
     15    }
     16    assertEq(caughtInvalidArguments, true);
     17 }
     18 test1();
     19 
     20 function test2() {
     21    var caughtInvalidArguments = false;
     22    var i = 0;
     23    while (true) {
     24        i = (i + 1) | 0;
     25        var a = inIon() ? -1 : 300;
     26        try {
     27            var buf = new Uint8ClampedArray(a);
     28            assertEq(buf.length, 300);
     29        } catch (e) {
     30            assertEq(a, -1);
     31            assertEq(e instanceof RangeError, true,
     32                    "expected RangeError, instead threw: " + e);
     33            caughtInvalidArguments = true;
     34            break;
     35        }
     36    }
     37    assertEq(caughtInvalidArguments, true);
     38 }
     39 test2();
     40 
     41 function test3() {
     42    var caughtInvalidArguments = false;
     43    var i = 0;
     44    while (true) {
     45        i = (i + 1) | 0;
     46        var a = inIon() ? -1 : 0;
     47        try {
     48            var buf = new Uint8ClampedArray(a);
     49            assertEq(buf.length, 0);
     50        } catch (e) {
     51            assertEq(a, -1);
     52            assertEq(e instanceof RangeError, true,
     53                    "expected RangeError, instead threw: " + e);
     54            caughtInvalidArguments = true;
     55            break;
     56        }
     57    }
     58    assertEq(caughtInvalidArguments, true);
     59 }
     60 test3();