Update tests based on feedback from WG.
draft
Update tests based on feedback from WG.
--- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html
+++ b/dom/canvas/test/webgl-conformance/conformance/more/functions/texImage2DBadArgs.html
@@ -70,17 +70,17 @@ function testrunner(gl, expectedList, de
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 2,1,0,gl.RGBA,gl.UNSIGNED_BYTE, data);
});
testrunner(gl, [gl.INVALID_OPERATION], "not enough data", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,2,0,gl.RGBA,gl.UNSIGNED_BYTE, data);
});
testrunner(gl, [gl.INVALID_ENUM], "bad target", function(){
gl.texImage2D(gl.FLOAT, 0, gl.RGBA, 1,1,0,gl.RGBA,gl.UNSIGNED_BYTE, null);
});
- testrunner(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], "bad internal format/format", function(){
+ testrunner(gl, [gl.INVALID_ENUM, gl.INVALID_VALUE], "bad internal format/format", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.FLOAT, 1,1,0,gl.FLOAT,gl.UNSIGNED_BYTE, null);
});
testrunner(gl, [gl.INVALID_VALUE], "border > 0", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,1,48,gl.RGBA,gl.UNSIGNED_BYTE, null);
});
// The spec says zero size is OK. If you disagree please list the section
// in the spec that details this issue.
testrunner(gl, [gl.NO_ERROR], "zero size", function(){
@@ -90,17 +90,17 @@ function testrunner(gl, expectedList, de
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, -1,1,0,gl.RGBA,gl.UNSIGNED_BYTE, null);
});
testrunner(gl, [gl.INVALID_VALUE], "negative height", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,-1,0,gl.RGBA,gl.UNSIGNED_BYTE, null);
});
testrunner(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], "bad format", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,1,0,gl.FLOAT,gl.UNSIGNED_BYTE, null);
});
- testrunner(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], "bad type", function(){
+ testrunner(gl, [gl.INVALID_ENUM], "bad type", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,1,0,gl.RGBA,gl.TEXTURE_2D, null);
});
testrunner(gl, [gl.INVALID_OPERATION], "not enough data", function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,1,0,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array(3));
});
testrunner(gl, [gl.INVALID_OPERATION], "format and type incompatible",function(){
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1,1,0,gl.RGBA,gl.UNSIGNED_SHORT_5_6_5, null);
});
--- a/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html
+++ b/dom/canvas/test/webgl-conformance/conformance/more/functions/texSubImage2DBadArgs.html
@@ -78,20 +78,20 @@ Tests.testTexImage2D = function(gl) {
gl.texSubImage2D(gl.TEXTURE_2D, 0,0, 0, 1,-1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]));
});
assertGLError(gl, gl.INVALID_VALUE, "negative x", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0,-1,1,1,1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]));
});
assertGLError(gl, gl.INVALID_VALUE, "negative y", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0,1,-1,1,1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]));
});
- assertGLErrorIn(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], "bad format", function(){
+ assertGLError(gl, gl.INVALID_ENUM, "bad format", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.FLOAT,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]));
});
- assertGLErrorIn(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], "bad type", function(){
+ assertGLError(gl, gl.INVALID_ENUM, "bad type", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.RGBA,gl.TEXTURE_2D, new Uint8Array([0,0,0,0]));
});
assertGLError(gl, gl.INVALID_OPERATION, "not enough data", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0]));
});
assertGLError(gl, gl.INVALID_OPERATION, "format does not match internal format", function(){
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.RGB,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0]));
});
--- a/dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html
+++ b/dom/canvas/test/webgl-conformance/conformance/textures/tex-input-validation.html
@@ -180,17 +180,17 @@ var testCases =
format: gl.RGBA,
type: gl.UNSIGNED_BYTE,
expectedErrors: [gl.INVALID_ENUM]},
{target: gl.TEXTURE_2D,
internalFormat: 0x1903, // GL_RED
border: 0,
format: 0x1903, // GL_RED
type: gl.UNSIGNED_BYTE,
- expectedErrors: [gl.INVALID_ENUM, gl.INVALID_OPERATION]},
+ expectedErrors: [gl.INVALID_ENUM, gl.INVALID_VALUE]},
{target: gl.TEXTURE_2D,
internalFormat: gl.RGBA,
border: 1,
format: gl.RGBA,
type: gl.UNSIGNED_BYTE,
expectedErrors: [gl.INVALID_VALUE]},
{target: gl.TEXTURE_2D,
internalFormat: gl.RGBA,
@@ -198,17 +198,17 @@ var testCases =
format: gl.RGB,
type: gl.UNSIGNED_BYTE,
expectedErrors: [gl.INVALID_OPERATION]},
{target: gl.TEXTURE_2D,
internalFormat: gl.RGBA,
border: 0,
format: gl.RGBA,
type: gl.BYTE,
- expectedErrors: [gl.INVALID_ENUM, gl.INVALID_OPERATION]},
+ expectedErrors: [gl.INVALID_ENUM]},
{target: gl.TEXTURE_2D,
internalFormat: gl.RGBA,
border: 0,
format: gl.RGBA,
type: gl.UNSIGNED_BYTE,
expectedErrors: [gl.NO_ERROR]} ];
for (var ii = 0; ii < testCases.length; ++ii)