michael@0: load(libdir + "asserts.js"); michael@0: var ieval = eval; michael@0: var offenders = [["..."], ["...rest"," x"], ["...rest", "[x]"], michael@0: ["...rest", "...rest2"]]; michael@0: for (var arglist of offenders) { michael@0: assertThrowsInstanceOf(function () { michael@0: ieval("function x(" + arglist.join(", ") + ") {}"); michael@0: }, SyntaxError); michael@0: assertThrowsInstanceOf(function () { michael@0: Function.apply(null, arglist.concat("return 0;")); michael@0: }, SyntaxError); michael@0: }