OLD | NEW |
| (Empty) |
1 <html> | |
2 <head> | |
3 <!-- | |
4 Copyright (c) 2009 Ilmari Heikkinen. All rights reserved. | |
5 Use of this source code is governed by a BSD-style license that can be | |
6 found in the LICENSE file. | |
7 --> | |
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |
9 <title>WebGL Methods Test</title> | |
10 <link rel="stylesheet" href="../resources/js-test-style.css"/> | |
11 <script src="../resources/desktop-gl-constants.js" type="text/javascript"></scri
pt> | |
12 <script src="../resources/js-test-pre.js"></script> | |
13 <script src="resources/webgl-test.js"></script> | |
14 </head> | |
15 <body> | |
16 <div id="description"></div> | |
17 <div id="console"></div> | |
18 <canvas id="canvas" style="width: 50px; height: 50px;"> </canvas> | |
19 <script> | |
20 description("This test ensures that the WebGL context has all the methods in the
specification."); | |
21 | |
22 var methods = [ | |
23 "canvas", | |
24 "getContextAttributes", | |
25 "activeTexture", | |
26 "attachShader", | |
27 "bindAttribLocation", | |
28 "bindBuffer", | |
29 "bindFramebuffer", | |
30 "bindRenderbuffer", | |
31 "bindTexture", | |
32 "blendColor", | |
33 "blendEquation", | |
34 "blendEquationSeparate", | |
35 "blendFunc", | |
36 "blendFuncSeparate", | |
37 "bufferData", | |
38 "bufferSubData", | |
39 "checkFramebufferStatus", | |
40 "clear", | |
41 "clearColor", | |
42 "clearDepth", | |
43 "clearStencil", | |
44 "colorMask", | |
45 "compileShader", | |
46 "copyTexImage2D", | |
47 "copyTexSubImage2D", | |
48 "createBuffer", | |
49 "createFramebuffer", | |
50 "createProgram", | |
51 "createRenderbuffer", | |
52 "createShader", | |
53 "createTexture", | |
54 "cullFace", | |
55 "deleteBuffer", | |
56 "deleteFramebuffer", | |
57 "deleteProgram", | |
58 "deleteRenderbuffer", | |
59 "deleteShader", | |
60 "deleteTexture", | |
61 "depthFunc", | |
62 "depthMask", | |
63 "depthRange", | |
64 "detachShader", | |
65 "disable", | |
66 "disableVertexAttribArray", | |
67 "drawArrays", | |
68 "drawElements", | |
69 "enable", | |
70 "enableVertexAttribArray", | |
71 "finish", | |
72 "flush", | |
73 "framebufferRenderbuffer", | |
74 "framebufferTexture2D", | |
75 "frontFace", | |
76 "generateMipmap", | |
77 "getActiveAttrib", | |
78 "getActiveUniform", | |
79 "getAttachedShaders", | |
80 "getAttribLocation", | |
81 "getParameter", | |
82 "getBufferParameter", | |
83 "getError", | |
84 "getFramebufferAttachmentParameter", | |
85 "getProgramParameter", | |
86 "getProgramInfoLog", | |
87 "getRenderbufferParameter", | |
88 "getShaderParameter", | |
89 "getShaderInfoLog", | |
90 "getShaderSource", | |
91 "getTexParameter", | |
92 "getUniform", | |
93 "getUniformLocation", | |
94 "getVertexAttrib", | |
95 "getVertexAttribOffset", | |
96 "hint", | |
97 "isBuffer", | |
98 "isEnabled", | |
99 "isFramebuffer", | |
100 "isProgram", | |
101 "isRenderbuffer", | |
102 "isShader", | |
103 "isTexture", | |
104 "lineWidth", | |
105 "linkProgram", | |
106 "pixelStorei", | |
107 "polygonOffset", | |
108 "readPixels", | |
109 "renderbufferStorage", | |
110 "sampleCoverage", | |
111 "scissor", | |
112 "shaderSource", | |
113 "stencilFunc", | |
114 "stencilFuncSeparate", | |
115 "stencilMask", | |
116 "stencilMaskSeparate", | |
117 "stencilOp", | |
118 "stencilOpSeparate", | |
119 "texImage2D", | |
120 "texParameterf", | |
121 "texParameteri", | |
122 "texSubImage2D", | |
123 "uniform1f", | |
124 "uniform1fv", | |
125 "uniform1i", | |
126 "uniform1iv", | |
127 "uniform2f", | |
128 "uniform2fv", | |
129 "uniform2i", | |
130 "uniform2iv", | |
131 "uniform3f", | |
132 "uniform3fv", | |
133 "uniform3i", | |
134 "uniform3iv", | |
135 "uniform4f", | |
136 "uniform4fv", | |
137 "uniform4i", | |
138 "uniform4iv", | |
139 "uniformMatrix2fv", | |
140 "uniformMatrix3fv", | |
141 "uniformMatrix4fv", | |
142 "useProgram", | |
143 "validateProgram", | |
144 "vertexAttrib1f", | |
145 "vertexAttrib1fv", | |
146 "vertexAttrib2f", | |
147 "vertexAttrib2fv", | |
148 "vertexAttrib3f", | |
149 "vertexAttrib3fv", | |
150 "vertexAttrib4f", | |
151 "vertexAttrib4fv", | |
152 "vertexAttribPointer", | |
153 "viewport" | |
154 ] | |
155 | |
156 function assertProperty(v, p) { | |
157 try { | |
158 if (v[p] == null) { | |
159 testFailed("Property does not exist: " + p) | |
160 return false; | |
161 } else { | |
162 return true; | |
163 } | |
164 } catch(e) { | |
165 testFailed("Trying to access the property '"+p+"' threw an error: "+e.toStri
ng()); | |
166 } | |
167 } | |
168 | |
169 debug(""); | |
170 debug("Canvas.getContext"); | |
171 | |
172 var canvas = document.getElementById("canvas"); | |
173 var gl = create3DContext(canvas); | |
174 var passed = true; | |
175 for (var i=0; i<methods.length; i++) { | |
176 var r = assertProperty(gl, methods[i]); | |
177 passed = passed && r; | |
178 } | |
179 if (passed) { | |
180 testPassed("All WebGL methods found."); | |
181 } | |
182 var extended = false; | |
183 for (var i in gl) { | |
184 if (i.match(/^[a-z]/) && methods.indexOf(i) == -1) { | |
185 if (!extended) { | |
186 extended = true; | |
187 debug("Also found the following extra methods:"); | |
188 } | |
189 debug(i); | |
190 } | |
191 } | |
192 | |
193 debug(""); | |
194 successfullyParsed = true; | |
195 </script> | |
196 <script src="../resources/js-test-post.js"></script> | |
197 <script> | |
198 </script> | |
199 | |
200 </body> | |
201 </html> | |
OLD | NEW |