Index: conformance/textures/tex-image-with-invalid-data.html |
=================================================================== |
--- conformance/textures/tex-image-with-invalid-data.html (revision 0) |
+++ conformance/textures/tex-image-with-invalid-data.html (revision 0) |
@@ -0,0 +1,101 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<meta charset="utf-8"> |
+ <title>texImage2D and texSubImage2D tests with invalid data</title> |
+ <link rel="stylesheet" href="../../resources/js-test-style.css"/> |
+ <script src="../../resources/js-test-pre.js"></script> |
+ <script src="../resources/webgl-test.js"></script> |
+</head> |
+<body> |
+<div id="description"></div> |
+<div id="console"></div> |
+<canvas id="canvas" width="2" height="2"> </canvas> |
+<script type="text/javascript"> |
+description("texImage2D and texSubImage2D tests with invalid data"); |
+ |
+var canvas = document.getElementById("canvas"); |
+var gl = create3DContext(canvas); |
+if (!gl) |
+ testFailed("Context created."); |
+else |
+ testPassed("Context created."); |
+ |
+var tex; |
+ |
+function setup() { |
+ tex = gl.createTexture(); |
+ gl.bindTexture(gl.TEXTURE_2D, bug32619_tests.tex); |
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); |
+} |
+ |
+function teardown() { |
+ gl.deleteTexture(tex); |
+} |
+ |
+function test(desc, func, expected) { |
+ debug(desc); |
+ |
+ var exc = null; |
+ try { |
+ func(); |
+ } catch (x) { |
+ exc = x; |
+ } |
+ |
+ if (expected == gl.INVALID_OPERATION) { |
+ glErrorShouldBe(gl, expected); |
+ } else if (expected == "exception") { |
+ if (exc) { |
+ testPassed("threw exception"); |
+ } else { |
+ testFailed("did not throw exception"); |
+ } |
+ } |
+} |
+ |
+test("Passing a buffer not large enough to texImage2D should generate an INVALID_OPERATION", |
+ function () { |
+ var tooSmall = new Uint8Array(64); |
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, tooSmall); |
+ }, |
+ gl.INVALID_OPERATION); |
+ |
+test("Passing texImage2D parameter data of Number type should throw an exception", |
+ function () { |
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, 42); |
+ }, |
+ "exception"); |
+ |
+test("Passing texImage2D parameter data of String type should throw a TypeError", |
+ function () { |
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, "not a buffer"); |
+ }, |
+ "exception"); |
+test("Passing a buffer not large enough to texSubImage2D should generate an INVALID_OPERATION", |
+ function () { |
+ var tooSmall = new Uint8Array(64); |
+ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 64, 64, gl.RGBA, gl.UNSIGNED_BYTE, tooSmall); |
+ }, |
+ gl.INVALID_OPERATION); |
+ |
+test("Passing texSubImage2D parameter data of Number type should throw a TypeError", |
+ function () { |
+ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 64, 64, gl.RGBA, gl.UNSIGNED_BYTE, 42); |
+ }, |
+ "exception"); |
+ |
+test("Passing texSubImage2D parameter data of String type should throw a TypeError", |
+ function () { |
+ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 64, 64, gl.RGBA, gl.UNSIGNED_BYTE, "not a buffer"); |
+ }, |
+ "exception"); |
+ |
+debug(""); |
+successfullyParsed = true; |
+</script> |
+<script src="../../resources/js-test-post.js"></script> |
+ |
+</body> |
+</html> |
+ |
Property changes on: conformance/textures/tex-image-with-invalid-data.html |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |