diff options
Diffstat (limited to 'js/src/jit-test/tests/jaeger/smallIntTypedArrays.js')
-rw-r--r-- | js/src/jit-test/tests/jaeger/smallIntTypedArrays.js | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/jaeger/smallIntTypedArrays.js b/js/src/jit-test/tests/jaeger/smallIntTypedArrays.js new file mode 100644 index 0000000000..c63d36bf2a --- /dev/null +++ b/js/src/jit-test/tests/jaeger/smallIntTypedArrays.js @@ -0,0 +1,112 @@ +// vim: set ts=8 sts=4 et sw=4 tw=99: + +function testInt8Array(L) { + var f = new Int8Array(8); + assertEq(f[0], 0); + assertEq(f[L], 0); + assertEq(f[L+8], undefined); + assertEq(f[8], undefined); + f[0] = 12; + f[L+1] = 13; + f[2] = f[1]; + f[L+3] = 500; + f[L+4] = true; + f[L+5] = L; + assertEq(f[0], 12); + assertEq(f[1], 13); + assertEq(f[2], 13); + assertEq(f[3], -12); + assertEq(f[4], 1); + assertEq(f[5], 0); +} + +function testUint8Array(L) { + var f = new Uint8Array(8); + assertEq(f[0], 0); + assertEq(f[L], 0); + assertEq(f[L+8], undefined); + assertEq(f[8], undefined); + f[0] = 12; + f[L+1] = 13; + f[2] = f[1]; + f[L+3] = 500; + f[L+4] = true; + f[L+5] = L; + assertEq(f[0], 12); + assertEq(f[1], 13); + assertEq(f[2], 13); + assertEq(f[3], 244); + assertEq(f[4], 1); + assertEq(f[5], 0); +} + +function testUint8ClampedArray(L) { + var f = new Uint8ClampedArray(8); + assertEq(f[0], 0); + assertEq(f[L], 0); + assertEq(f[L+8], undefined); + assertEq(f[8], undefined); + f[0] = 12; + f[L+1] = 13; + f[2] = f[1]; + f[L+3] = 500; + f[L+4] = true; + f[L+5] = L; + assertEq(f[0], 12); + assertEq(f[1], 13); + assertEq(f[2], 13); + assertEq(f[3], 255); + assertEq(f[4], 1); + assertEq(f[5], 0); +} + +function testInt16Array(L) { + var f = new Int16Array(8); + assertEq(f[0], 0); + assertEq(f[L], 0); + assertEq(f[L+8], undefined); + assertEq(f[8], undefined); + f[0] = 12; + f[L+1] = 13; + f[2] = f[1]; + f[L+3] = 190000; + f[L+4] = true; + f[L+5] = L; + assertEq(f[0], 12); + assertEq(f[1], 13); + assertEq(f[2], 13); + assertEq(f[3], -6608); + assertEq(f[4], 1); + assertEq(f[5], 0); +} + +function testUint16Array(L) { + var f = new Uint16Array(8); + assertEq(f[0], 0); + assertEq(f[L], 0); + assertEq(f[L+8], undefined); + assertEq(f[8], undefined); + f[0] = 12; + f[L+1] = 13; + f[2] = f[1]; + f[L+3] = 190000; + f[L+4] = true; + f[L+5] = L; + assertEq(f[0], 12); + assertEq(f[1], 13); + assertEq(f[2], 13); + assertEq(f[3], 58928); + assertEq(f[4], 1); + assertEq(f[5], 0); +} + +for (var i = 0; i < 10; i++) { + testInt8Array(0); + testUint8Array(0); + testUint8ClampedArray(0); + testInt16Array(0); + testUint16Array(0); + if (i == 5) + gc(); +} + |