summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-mochitest/test_fb_param.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/webgl-mochitest/test_fb_param.html')
-rw-r--r--dom/canvas/test/webgl-mochitest/test_fb_param.html54
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-mochitest/test_fb_param.html b/dom/canvas/test/webgl-mochitest/test_fb_param.html
new file mode 100644
index 000000000..5907221dd
--- /dev/null
+++ b/dom/canvas/test/webgl-mochitest/test_fb_param.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML>
+<title>WebGL test: bug 958491</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<link rel="stylesheet" href="/tests/SimpleTest/test.css">
+<script src="driver-info.js"></script>
+<script src="webgl-util.js"></script>
+<body>
+<canvas id="c"></canvas>
+<script>
+
+// Give ourselves a scope to return early from:
+(function() {
+ var gl = WebGLUtil.getWebGL('c');
+ if (!gl) {
+ todo(false, 'WebGL is unavailable.');
+ return;
+ }
+
+ // Catch actual WebGLUtil errors, not GL errors.
+ function errorFunc(str) {
+ ok(false, 'Error: ' + str);
+ }
+ WebGLUtil.setErrorFunc(errorFunc);
+
+ function checkGLError(func, info, reference) {
+ var error = gl.getError();
+ var prefix = info ? ('[' + info + '] ') : '';
+ var text = 'gl.getError should be 0x' + reference.toString(16) +
+ ', was 0x' + error.toString(16) + '.';
+ func(error == reference, prefix + text);
+ }
+
+ // Begin test:
+ var rb = gl.createRenderbuffer();
+ gl.bindRenderbuffer(gl.RENDERBUFFER, rb);
+ gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 4, 4);
+
+ var fb = gl.createFramebuffer();
+ gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
+ gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0,
+ gl.RENDERBUFFER, rb);
+
+ checkGLError(ok, 'before bad param query', 0);
+
+ var GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
+ var result = gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER,
+ gl.COLOR_ATTACHMENT0,
+ GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING);
+
+ checkGLError(ok, 'after bad param query', gl.INVALID_ENUM);
+})();
+
+</script>
+