strict-args-flushstack.js (534B)
1 /* 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/licenses/publicdomain/ 4 */ 5 var args; 6 7 function test() 8 { 9 "use strict"; 10 eval("args = arguments;"); 11 var a = []; 12 for (var i = 0; i < 9; i++) 13 a.push(arguments); 14 return a; 15 } 16 17 var a = test(); 18 19 assertEq(Array.isArray(a), true); 20 assertEq(a.length, 9); 21 22 var count = 0; 23 a.forEach(function(v, i) { count++; assertEq(v, args); }); 24 assertEq(count, 9); 25 26 assertEq(Object.prototype.toString.call(args), "[object Arguments]"); 27 assertEq(args.length, 0);