| <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("Verifies that attempting to set out-of-bounds elements of a WebGLArray from a JavaScript array throws an exception"); |
| |
| debug('Regression test for <a href="https://bugs.webkit.org/show_bug.cgi?id=33352">https://bugs.webkit.org/show_bug.cgi?id=33352</a> : <code>Passing array that is too large to set method of WebGLArrays does not throw an exception</code>'); |
| |
| // Global scope so shouldThrow can see it |
| var webGLArray; |
| |
| function negativeTestSet(typeName) { |
| var type = window[typeName]; |
| webGLArray = new type([2, 3]); |
| debug('Testing ' + typeName); |
| shouldThrow("webGLArray.set([4, 5], 1)"); |
| shouldThrow("webGLArray.set([4, 5, 6])"); |
| } |
| |
| negativeTestSet("Int8Array"); |
| negativeTestSet("Uint8Array"); |
| negativeTestSet("Int16Array"); |
| negativeTestSet("Uint16Array"); |
| negativeTestSet("Int32Array"); |
| negativeTestSet("Uint32Array"); |
| negativeTestSet("Float32Array"); |
| |
| </script> |
| </body> |
| </html> |