// vim: set ts=8 sts=4 et sw=4 tw=99: function testSetTypedInt8Array(k) { var ar = new Int8Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = k + 800; var t = k + 555; var t = ar[k+7] = t & 5; ar[0] = 12; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], -12); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], 32); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 1); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedUint8ClampedArray(k) { var ar = new Uint8ClampedArray(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = k + 800; var t = k + 555; var L = ar[k+7] = t & 5; var Q = ar[k+7] = t + 5; ar[0] = 12; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = -500; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], 0); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], 255); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 255); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedUint8Array(k) { var ar = new Uint8Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = k + 800; var t = k + 555; var L = ar[k+7] = t + 5; ar[0] = 12.3; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], 244); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], 32); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 48); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedInt16Array(k) { var ar = new Int16Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = (k + 800) * 800 * 800 * 913; var t = k + 555; var L = ar[k+7] = t + 5; ar[0] = 12.3; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500000; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], -24288); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], -32768); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 560); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedUint16Array(k) { var ar = new Uint16Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = (k + 800) * 800 * 800 * 913; var t = k + 555; var L = ar[k+7] = t + 5; ar[0] = 12.3; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500000; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], 41248); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], 32768); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 560); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedInt32Array(k) { var ar = new Int32Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = (k + 800) * 800 * 800 * 800 * 800; var t = k + 555; var L = ar[k+7] = t + 5; ar[0] = 12.3; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], 500); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], -234881024); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 560); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } function testSetTypedUint32Array(k) { var ar = new Uint32Array(8); ar[k+5] = { }; ar[k+6] = ar; ar[k+4] = (k + 800) * 800 * 800 * 800 * 800; var t = k + 555; var L = ar[k+7] = t + 5; ar[0] = 12.3; ar[8] = 500; ar[k+8] = 1200; ar[k+1] = 500; ar[k+2] = "3"; ar[k+3] = true; assertEq(ar[0], 12); assertEq(ar[1], 500); assertEq(ar[2], 3); assertEq(ar[3], 1); assertEq(ar[4], 4060086272); assertEq(ar[5], 0); assertEq(ar[6], 0); assertEq(ar[7], 560); assertEq(ar[8], undefined); assertEq(ar[k+8], undefined); } for (var i = 0; i <= 10; i++) { testSetTypedInt8Array(0); testSetTypedUint8Array(0); testSetTypedUint8ClampedArray(0); testSetTypedInt16Array(0); testSetTypedUint16Array(0); testSetTypedInt32Array(0); testSetTypedUint32Array(0); if (i == 5) gc(); }