content/canvas/test/webgl-conformance/conformance/buffers/buffer-data-array-buffer.html

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 <!--
     2 Copyright (c) 2011 The Chromium Authors. All rights reserved.
     3 Use of this source code is governed by a BSD-style license that can be
     4 found in the LICENSE file.
     5  -->
     6 <!DOCTYPE html>
     7 <html>
     8 <head>
     9 <meta charset="utf-8">
    10 <link rel="stylesheet" href="../../resources/js-test-style.css"/>
    11 <script src="../../resources/js-test-pre.js"></script>
    12 <script src="../resources/webgl-test.js"></script>
    13 </head>
    14 <body>
    15 <div id="description"></div>
    16 <div id="console"></div>
    18 <script>
    19 description("Test bufferData/bufferSubData with ArrayBuffer input");
    21 debug('Regression test for <a href="https://bugs.webkit.org/show_bug.cgi?id=41884">https://bugs.webkit.org/show_bug.cgi?id=41884</a> : <code>Implement bufferData and bufferSubData with ArrayBuffer as input</code>');
    23 var gl = create3DContext();
    24 shouldBeNonNull("gl");
    26 var array = new ArrayBuffer(128);
    27 shouldBeNonNull("array");
    29 var buf = gl.createBuffer();
    30 shouldBeNonNull("buf");
    32 gl.bufferData(gl.ARRAY_BUFFER, array, gl.STATIC_DRAW);
    33 glErrorShouldBe(gl, gl.INVALID_OPERATION);
    35 gl.bindBuffer(gl.ARRAY_BUFFER, buf);
    36 glErrorShouldBe(gl, gl.NO_ERROR);
    38 gl.bufferData(gl.ARRAY_BUFFER, -10, gl.STATIC_DRAW);
    39 glErrorShouldBe(gl, gl.INVALID_VALUE);
    41 // This should not crash, but the selection of the overload is ambiguous per Web IDL.
    42 gl.bufferData(gl.ARRAY_BUFFER, null, gl.STATIC_DRAW);
    43 gl.getError();
    45 gl.bufferData(gl.ARRAY_BUFFER, array, gl.STATIC_DRAW);
    46 glErrorShouldBe(gl, gl.NO_ERROR);
    48 array = new ArrayBuffer(64);
    50 gl.bufferSubData(gl.ARRAY_BUFFER, -10, array);
    51 glErrorShouldBe(gl, gl.INVALID_VALUE);
    53 gl.bufferSubData(gl.ARRAY_BUFFER, -10, new Float32Array(8));
    54 glErrorShouldBe(gl, gl.INVALID_VALUE);
    56 gl.bufferSubData(gl.ARRAY_BUFFER, 10, array);
    57 glErrorShouldBe(gl, gl.NO_ERROR);
    59 gl.bufferSubData(gl.ARRAY_BUFFER, 10, null);
    60 glErrorShouldBe(gl, gl.NO_ERROR);
    62 successfullyParsed = true;
    63 </script>
    65 <script>finishTest();</script>
    66 </body>
    67 </html>

mercurial