diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/basic/throw-apply-too-many-args.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/basic/throw-apply-too-many-args.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,25 @@ +function g(a, b, c, d) {} +function f(a, b, c) +{ + arguments.length = getMaxArgs() + 1; + g.apply(this, arr); +} +var args = [[5], [5], [5], [5], [5], [5], [5], [5], [5], [5], [5], let (x = []) (x.length = getMaxArgs() + 1, x)] +try +{ + for (var i = 0; i < args.length; i++) { arr = args[i]; f(); } + throw new Error("didn't throw"); +} +catch (e) +{ + assertEq(e instanceof RangeError, true, "wrong exception: " + e); +} +try +{ + for (var i = 0; i < args.length; i++) { arr = args[i]; f(); } + throw new Error("didn't throw"); +} +catch (e) +{ + assertEq(e instanceof RangeError, true, "wrong exception: " + e); +}