array-push.js (776B)
1 function test1() { 2 function push(arr, x) { 3 return arr.push(x); 4 } 5 var arr = []; 6 for (var i=0; i<100; i++) { 7 assertEq(push(arr, i), i + 1); 8 } 9 } 10 test1(); 11 12 function test2() { 13 var arr; 14 for (var i=0; i<60; i++) { 15 arr = []; 16 assertEq(arr.push(3.3), 1); 17 assertEq(arr.push(undefined), 2); 18 assertEq(arr.push(true), 3); 19 assertEq(arr.push(Math), 4); 20 assertEq(arr.toString(), "3.3,,true,[object Math]"); 21 } 22 } 23 test2(); 24 25 function test3() { 26 function push(arr, v) { 27 arr.push(v); 28 } 29 for (var i=0; i<60; i++) { 30 var arr = []; 31 push(arr, null); 32 push(arr, 3.14); 33 push(arr, {}); 34 assertEq(arr.toString(), ",3.14,[object Object]"); 35 } 36 } 37 test3();