content/canvas/test/webgl-conformance/conformance/context/methods.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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

mercurial