1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/canvas/test/webgl-conformance/conformance/context/methods.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,200 @@ 1.4 +<!DOCTYPE html> 1.5 +<html> 1.6 +<head> 1.7 +<meta charset="utf-8"> 1.8 +<!-- 1.9 +Copyright (c) 2011 Ilmari Heikkinen. All rights reserved. 1.10 +Use of this source code is governed by a BSD-style license that can be 1.11 +found in the LICENSE file. 1.12 +--> 1.13 +<title>WebGL Methods Test</title> 1.14 +<link rel="stylesheet" href="../../resources/js-test-style.css"/> 1.15 +<script src="../../resources/desktop-gl-constants.js" type="text/javascript"></script> 1.16 +<script src="../../resources/js-test-pre.js"></script> 1.17 +<script src="../resources/webgl-test.js"></script> 1.18 +</head> 1.19 +<body> 1.20 +<div id="description"></div> 1.21 +<div id="console"></div> 1.22 +<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas> 1.23 +<script> 1.24 +description("This test ensures that the WebGL context has all the methods in the specification."); 1.25 + 1.26 +var methods = [ 1.27 +"canvas", 1.28 +"getContextAttributes", 1.29 +"activeTexture", 1.30 +"attachShader", 1.31 +"bindAttribLocation", 1.32 +"bindBuffer", 1.33 +"bindFramebuffer", 1.34 +"bindRenderbuffer", 1.35 +"bindTexture", 1.36 +"blendColor", 1.37 +"blendEquation", 1.38 +"blendEquationSeparate", 1.39 +"blendFunc", 1.40 +"blendFuncSeparate", 1.41 +"bufferData", 1.42 +"bufferSubData", 1.43 +"checkFramebufferStatus", 1.44 +"clear", 1.45 +"clearColor", 1.46 +"clearDepth", 1.47 +"clearStencil", 1.48 +"colorMask", 1.49 +"compileShader", 1.50 +"copyTexImage2D", 1.51 +"copyTexSubImage2D", 1.52 +"createBuffer", 1.53 +"createFramebuffer", 1.54 +"createProgram", 1.55 +"createRenderbuffer", 1.56 +"createShader", 1.57 +"createTexture", 1.58 +"cullFace", 1.59 +"deleteBuffer", 1.60 +"deleteFramebuffer", 1.61 +"deleteProgram", 1.62 +"deleteRenderbuffer", 1.63 +"deleteShader", 1.64 +"deleteTexture", 1.65 +"depthFunc", 1.66 +"depthMask", 1.67 +"depthRange", 1.68 +"detachShader", 1.69 +"disable", 1.70 +"disableVertexAttribArray", 1.71 +"drawArrays", 1.72 +"drawElements", 1.73 +"enable", 1.74 +"enableVertexAttribArray", 1.75 +"finish", 1.76 +"flush", 1.77 +"framebufferRenderbuffer", 1.78 +"framebufferTexture2D", 1.79 +"frontFace", 1.80 +"generateMipmap", 1.81 +"getActiveAttrib", 1.82 +"getActiveUniform", 1.83 +"getAttachedShaders", 1.84 +"getAttribLocation", 1.85 +"getParameter", 1.86 +"getBufferParameter", 1.87 +"getError", 1.88 +"getFramebufferAttachmentParameter", 1.89 +"getProgramParameter", 1.90 +"getProgramInfoLog", 1.91 +"getRenderbufferParameter", 1.92 +"getShaderParameter", 1.93 +"getShaderInfoLog", 1.94 +"getShaderSource", 1.95 +"getTexParameter", 1.96 +"getUniform", 1.97 +"getUniformLocation", 1.98 +"getVertexAttrib", 1.99 +"getVertexAttribOffset", 1.100 +"hint", 1.101 +"isBuffer", 1.102 +"isEnabled", 1.103 +"isFramebuffer", 1.104 +"isProgram", 1.105 +"isRenderbuffer", 1.106 +"isShader", 1.107 +"isTexture", 1.108 +"lineWidth", 1.109 +"linkProgram", 1.110 +"pixelStorei", 1.111 +"polygonOffset", 1.112 +"readPixels", 1.113 +"renderbufferStorage", 1.114 +"sampleCoverage", 1.115 +"scissor", 1.116 +"shaderSource", 1.117 +"stencilFunc", 1.118 +"stencilFuncSeparate", 1.119 +"stencilMask", 1.120 +"stencilMaskSeparate", 1.121 +"stencilOp", 1.122 +"stencilOpSeparate", 1.123 +"texImage2D", 1.124 +"texParameterf", 1.125 +"texParameteri", 1.126 +"texSubImage2D", 1.127 +"uniform1f", 1.128 +"uniform1fv", 1.129 +"uniform1i", 1.130 +"uniform1iv", 1.131 +"uniform2f", 1.132 +"uniform2fv", 1.133 +"uniform2i", 1.134 +"uniform2iv", 1.135 +"uniform3f", 1.136 +"uniform3fv", 1.137 +"uniform3i", 1.138 +"uniform3iv", 1.139 +"uniform4f", 1.140 +"uniform4fv", 1.141 +"uniform4i", 1.142 +"uniform4iv", 1.143 +"uniformMatrix2fv", 1.144 +"uniformMatrix3fv", 1.145 +"uniformMatrix4fv", 1.146 +"useProgram", 1.147 +"validateProgram", 1.148 +"vertexAttrib1f", 1.149 +"vertexAttrib1fv", 1.150 +"vertexAttrib2f", 1.151 +"vertexAttrib2fv", 1.152 +"vertexAttrib3f", 1.153 +"vertexAttrib3fv", 1.154 +"vertexAttrib4f", 1.155 +"vertexAttrib4fv", 1.156 +"vertexAttribPointer", 1.157 +"viewport" 1.158 +] 1.159 + 1.160 +function assertProperty(v, p) { 1.161 + try { 1.162 + if (v[p] == null) { 1.163 + testFailed("Property does not exist: " + p) 1.164 + return false; 1.165 + } else { 1.166 + return true; 1.167 + } 1.168 + } catch(e) { 1.169 + testFailed("Trying to access the property '"+p+"' threw an error: "+e.toString()); 1.170 + } 1.171 +} 1.172 + 1.173 +debug(""); 1.174 +debug("Canvas.getContext"); 1.175 + 1.176 +var canvas = document.getElementById("canvas"); 1.177 +var gl = create3DContext(canvas); 1.178 +var passed = true; 1.179 +for (var i=0; i<methods.length; i++) { 1.180 + var r = assertProperty(gl, methods[i]); 1.181 + passed = passed && r; 1.182 +} 1.183 +if (passed) { 1.184 + testPassed("All WebGL methods found."); 1.185 +} 1.186 +var extended = false; 1.187 +for (var i in gl) { 1.188 + if (i.match(/^[a-z]/) && methods.indexOf(i) == -1) { 1.189 + if (!extended) { 1.190 + extended = true; 1.191 + debug("Also found the following extra methods:"); 1.192 + } 1.193 + debug(i); 1.194 + } 1.195 +} 1.196 + 1.197 +debug(""); 1.198 +successfullyParsed = true; 1.199 +</script> 1.200 +<script>finishTest();</script> 1.201 + 1.202 +</body> 1.203 +</html>