michael@0: michael@0: function testPushConvert() { michael@0: var x = []; michael@0: for (var i = 0; i < 10; i++) michael@0: x.push(i + .5); michael@0: for (var i = 0; i < 5; i++) michael@0: x.push(i); michael@0: var res = 0; michael@0: for (var i = 0; i < x.length; i++) michael@0: res += x[i]; michael@0: assertEq(res, 60); michael@0: } michael@0: testPushConvert(); michael@0: michael@0: function testArrayInitializer() { michael@0: var x = [.5,1.5,2.5,3]; michael@0: var res = 0; michael@0: for (var i = 0; i < x.length; i++) michael@0: res += x[i]; michael@0: assertEq(res, 7.5); michael@0: } michael@0: for (var i = 0; i < 5; i++) michael@0: testArrayInitializer(); michael@0: michael@0: function testArrayConstructor() { michael@0: var x = Array(.5,1.5,2.5,3); michael@0: var res = 0; michael@0: for (var i = 0; i < x.length; i++) michael@0: res += x[i]; michael@0: assertEq(res, 7.5); michael@0: } michael@0: for (var i = 0; i < 5; i++) michael@0: testArrayConstructor(); michael@0: michael@0: function addInt(a) { michael@0: // inhibit ion michael@0: try { michael@0: a[0] = 10; michael@0: } catch (e) {} michael@0: } michael@0: michael@0: function testBaseline() { michael@0: var x = Array(.5,1.5,2.5,3); michael@0: addInt(x); michael@0: var res = 0; michael@0: for (var i = 0; i < x.length; i++) michael@0: res += x[i]; michael@0: assertEq(res, 17); michael@0: } michael@0: for (var i = 0; i < 5; i++) michael@0: testBaseline();