Verifies that attempting to set out-of-bounds elements of a WebGLArray from a JavaScript array throws an exception

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

Regression test for https://bugs.webkit.org/show_bug.cgi?id=33352 : Passing array that is too large to set method of WebGLArrays does not throw an exception
Testing Int8Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Uint8Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Int16Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Uint16Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Int32Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Uint32Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
Testing Float32Array
PASS webGLArray.set([4, 5], 1) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS webGLArray.set([4, 5, 6]) threw exception RangeError: Range consisting of offset and length are out of bounds.
PASS successfullyParsed is true

TEST COMPLETE

