js/src/jit-test/tests/basic/throw-apply-too-many-args.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 function g(a, b, c, d) {}
     2 function f(a, b, c)
     3 {
     4   arguments.length = getMaxArgs() + 1;
     5   g.apply(this, arr);
     6 }
     7 var args = [[5], [5], [5], [5], [5], [5], [5], [5], [5], [5], [5], let (x = []) (x.length = getMaxArgs() + 1, x)]
     8 try
     9 {
    10   for (var i = 0; i < args.length; i++) { arr = args[i]; f(); }
    11   throw new Error("didn't throw");
    12 }
    13 catch (e)
    14 {
    15   assertEq(e instanceof RangeError, true, "wrong exception: " + e);
    16 }
    17 try
    18 {
    19   for (var i = 0; i < args.length; i++) { arr = args[i]; f(); }
    20   throw new Error("didn't throw");
    21 }
    22 catch (e)
    23 {
    24   assertEq(e instanceof RangeError, true, "wrong exception: " + e);
    25 }

mercurial