browser/devtools/tilt/test/browser_tilt_gl01.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     3 "use strict";
     5 let isWebGLAvailable;
     7 function onWebGLFail() {
     8   isWebGLAvailable = false;
     9 }
    11 function onWebGLSuccess() {
    12   isWebGLAvailable = true;
    13 }
    15 function test() {
    16   if (!isWebGLSupported()) {
    17     info("Skipping tilt_gl01 because WebGL isn't supported on this hardware.");
    18     return;
    19   }
    21   let canvas = createCanvas();
    23   let renderer = new TiltGL.Renderer(canvas, onWebGLFail, onWebGLSuccess);
    24   let gl = renderer.context;
    26   if (!isWebGLAvailable) {
    27     return;
    28   }
    31   ok(renderer,
    32     "The TiltGL.Renderer constructor should have initialized a new object.");
    34   ok(gl instanceof WebGLRenderingContext,
    35     "The renderer context wasn't created correctly from the passed canvas.");
    38   let clearColor = gl.getParameter(gl.COLOR_CLEAR_VALUE),
    39       clearDepth = gl.getParameter(gl.DEPTH_CLEAR_VALUE);
    41   is(clearColor[0], 0,
    42     "The default red clear color wasn't set correctly at initialization.");
    43   is(clearColor[1], 0,
    44     "The default green clear color wasn't set correctly at initialization.");
    45   is(clearColor[2], 0,
    46     "The default blue clear color wasn't set correctly at initialization.");
    47   is(clearColor[3], 0,
    48     "The default alpha clear color wasn't set correctly at initialization.");
    49   is(clearDepth, 1,
    50     "The default clear depth wasn't set correctly at initialization.");
    52   is(renderer.width, canvas.width,
    53     "The renderer width wasn't set correctly from the passed canvas.");
    54   is(renderer.height, canvas.height,
    55     "The renderer height wasn't set correctly from the passed canvas.");
    57   ok(renderer.mvMatrix,
    58     "The model view matrix wasn't initialized properly.");
    59   ok(renderer.projMatrix,
    60     "The model view matrix wasn't initialized properly.");
    62   ok(isApproxVec(renderer._fillColor, [1, 1, 1, 1]),
    63     "The default fill color wasn't set correctly.");
    64   ok(isApproxVec(renderer._strokeColor, [0, 0, 0, 1]),
    65     "The default stroke color wasn't set correctly.");
    66   is(renderer._strokeWeightValue, 1,
    67     "The default stroke weight wasn't set correctly.");
    69   ok(renderer._colorShader,
    70     "A default color shader should have been created.");
    72   ok(typeof renderer.Program, "function",
    73     "At init, the renderer should have created a Program constructor.");
    74   ok(typeof renderer.VertexBuffer, "function",
    75     "At init, the renderer should have created a VertexBuffer constructor.");
    76   ok(typeof renderer.IndexBuffer, "function",
    77     "At init, the renderer should have created a IndexBuffer constructor.");
    78   ok(typeof renderer.Texture, "function",
    79     "At init, the renderer should have created a Texture constructor.");
    81   renderer.depthTest(true);
    82   is(gl.getParameter(gl.DEPTH_TEST), true,
    83     "The depth test wasn't enabled when requested.");
    85   renderer.depthTest(false);
    86   is(gl.getParameter(gl.DEPTH_TEST), false,
    87     "The depth test wasn't disabled when requested.");
    89   renderer.stencilTest(true);
    90   is(gl.getParameter(gl.STENCIL_TEST), true,
    91     "The stencil test wasn't enabled when requested.");
    93   renderer.stencilTest(false);
    94   is(gl.getParameter(gl.STENCIL_TEST), false,
    95     "The stencil test wasn't disabled when requested.");
    97   renderer.cullFace("front");
    98   is(gl.getParameter(gl.CULL_FACE), true,
    99     "The cull face wasn't enabled when requested.");
   100   is(gl.getParameter(gl.CULL_FACE_MODE), gl.FRONT,
   101     "The cull face front mode wasn't set correctly.");
   103   renderer.cullFace("back");
   104   is(gl.getParameter(gl.CULL_FACE), true,
   105     "The cull face wasn't enabled when requested.");
   106   is(gl.getParameter(gl.CULL_FACE_MODE), gl.BACK,
   107     "The cull face back mode wasn't set correctly.");
   109   renderer.cullFace("both");
   110   is(gl.getParameter(gl.CULL_FACE), true,
   111     "The cull face wasn't enabled when requested.");
   112   is(gl.getParameter(gl.CULL_FACE_MODE), gl.FRONT_AND_BACK,
   113     "The cull face back mode wasn't set correctly.");
   115   renderer.cullFace(false);
   116   is(gl.getParameter(gl.CULL_FACE), false,
   117     "The cull face wasn't disabled when requested.");
   119   renderer.frontFace("cw");
   120   is(gl.getParameter(gl.FRONT_FACE), gl.CW,
   121     "The front face cw mode wasn't set correctly.");
   123   renderer.frontFace("ccw");
   124   is(gl.getParameter(gl.FRONT_FACE), gl.CCW,
   125     "The front face ccw mode wasn't set correctly.");
   127   renderer.blendMode("alpha");
   128   is(gl.getParameter(gl.BLEND), true,
   129     "The blend mode wasn't enabled when requested.");
   130   is(gl.getParameter(gl.BLEND_SRC_ALPHA), gl.SRC_ALPHA,
   131     "The soruce blend func wasn't set correctly.");
   132   is(gl.getParameter(gl.BLEND_DST_ALPHA), gl.ONE_MINUS_SRC_ALPHA,
   133     "The destination blend func wasn't set correctly.");
   135   renderer.blendMode("add");
   136   is(gl.getParameter(gl.BLEND), true,
   137     "The blend mode wasn't enabled when requested.");
   138   is(gl.getParameter(gl.BLEND_SRC_ALPHA), gl.SRC_ALPHA,
   139     "The soruce blend func wasn't set correctly.");
   140   is(gl.getParameter(gl.BLEND_DST_ALPHA), gl.ONE,
   141     "The destination blend func wasn't set correctly.");
   143   renderer.blendMode(false);
   144   is(gl.getParameter(gl.CULL_FACE), false,
   145     "The blend mode wasn't disabled when requested.");
   148   is(gl.getParameter(gl.CURRENT_PROGRAM), null,
   149     "No program should be initially set in the WebGL context.");
   151   renderer.useColorShader(new renderer.VertexBuffer([1, 2, 3], 3));
   153   ok(gl.getParameter(gl.CURRENT_PROGRAM) instanceof WebGLProgram,
   154     "The correct program hasn't been set in the WebGL context.");
   155 }

mercurial