michael@0: function test1() { michael@0: function push(arr, x) { michael@0: return arr.push(x); michael@0: } michael@0: var arr = []; michael@0: for (var i=0; i<100; i++) { michael@0: assertEq(push(arr, i), i + 1); michael@0: } michael@0: } michael@0: test1(); michael@0: michael@0: function test2() { michael@0: var arr; michael@0: for (var i=0; i<60; i++) { michael@0: arr = []; michael@0: assertEq(arr.push(3.3), 1); michael@0: assertEq(arr.push(undefined), 2); michael@0: assertEq(arr.push(true), 3); michael@0: assertEq(arr.push(Math), 4); michael@0: assertEq(arr.toString(), "3.3,,true,[object Math]"); michael@0: } michael@0: } michael@0: test2(); michael@0: michael@0: function test3() { michael@0: function push(arr, v) { michael@0: arr.push(v); michael@0: } michael@0: for (var i=0; i<60; i++) { michael@0: var arr = []; michael@0: push(arr, null); michael@0: push(arr, 3.14); michael@0: push(arr, {}); michael@0: assertEq(arr.toString(), ",3.14,[object Object]"); michael@0: } michael@0: } michael@0: test3();