| 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
|
|
|
|
|