blob: 966758c388c487c673cc5e85760d8c87ee1d17d4 [file] [log] [blame]
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="resources/webgl-test.js"></script>
</head>
<body>
<div id="description"></div>
<div id="console"></div>
<script>
description("Test setting WebGL array with offset");
debug('Regression test for <a href="https://bugs.webkit.org/show_bug.cgi?id=76040">https://bugs.webkit.org/show_bug.cgi?id=76040</a> : <code>Int16Array.set(array, offset) fails on first execution</code>');
var webGLArray = null;
var array = null;
var bounds = null;
function testSetters(typeName, low, high) {
bounds = [low, high];
var type = window[typeName];
var array_buffer = new ArrayBuffer(32);
webGLArray = new type(array_buffer);
debug("Testing " + typeName);
array = [1, 2, low, high];
webGLArray.set(array, 1);
shouldBe("webGLArray[0]", "0");
shouldBe("webGLArray[1]", "1");
shouldBe("webGLArray[2]", "2");
shouldBe("webGLArray[3]", "bounds[0]");
shouldBe("webGLArray[4]", "bounds[1]");
}
testSetters("Int8Array", -128, 127);
testSetters("Uint8Array", 0, 255);
testSetters("Int16Array", -32768, 32767);
testSetters("Uint16Array", 0, 65535);
testSetters("Int32Array", -2147483648, 2147483647);
testSetters("Uint32Array", 0, 4294967295);
testSetters("Float32Array", -2.5, 3.5);
</script>
</body>
</html>