michael@0: function check(expected, ...rest) { michael@0: assertEq(expected.toString(), rest.toString()); michael@0: } michael@0: michael@0: assertEq(check.length, 1); michael@0: check([]); michael@0: check(['a', 'b'], 'a', 'b'); michael@0: check(['a', 'b', 'c', 'd'], 'a', 'b', 'c', 'd'); michael@0: check.apply(null, [['a', 'b'], 'a', 'b']) michael@0: check.call(null, ['a', 'b'], 'a', 'b') michael@0: michael@0: var g = newGlobal(); michael@0: g.eval("function f(...rest) { return rest; }"); michael@0: var a = g.f(1, 2, 3); michael@0: assertEq(a instanceof g.Array, true);