6 Copyright (c) 2019 The Khronos Group Inc.
7 Use of this source code is governed by an MIT-style license that can be
8 found in the LICENSE.txt file.
10 <link rel=
"stylesheet" type=
"text/css" href=
"../unit.css" />
11 <script type=
"application/javascript" src=
"../unit.js"></script>
12 <script type=
"application/javascript" src=
"../util.js"></script>
13 <script type=
"application/javascript">
15 Tests.startUnit = function () {
16 var canvas = document.getElementById('gl');
17 var gl = wrapGLContext(getGLContext(canvas));
21 Tests.testBindBufferARRAY_BUFFER = function(gl) {
22 var b = gl.createBuffer();
23 assertOk(
"bind buffer", function(){gl.bindBuffer(gl.ARRAY_BUFFER, b)});
24 assertFail(
"bufferData to null buffer", function() {
25 gl.bindBuffer(gl.ARRAY_BUFFER, null);
26 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
10]), gl.STATIC_DRAW);
27 gl.bufferSubData(gl.ARRAY_BUFFER,
0, new Float32Array([
10]));
29 assertFail(
"bind to number", function(){
30 gl.bindBuffer(gl.ARRAY_BUFFER,
1000000000);
31 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
10]), gl.STATIC_DRAW);
32 gl.bufferSubData(gl.ARRAY_BUFFER,
0, new Float32Array([
10]));
34 assertOk(
"bind to null", function(){gl.bindBuffer(gl.ARRAY_BUFFER, null)});
38 Tests.testBindBufferELEMENT_ARRAY_BUFFER = function(gl) {
39 var b = gl.createBuffer();
40 assertOk(
"bind buffer", function(){gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, b)});
41 assertFail(
"bufferData to null buffer", function() {
42 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
43 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Float32Array([
10]), gl.STATIC_DRAW);
44 gl.bufferSubData(gl.ARRAY_BUFFER,
0, new Float32Array([
10]));
46 assertFail(
"bind to number", function(){
47 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,
1000000000);
48 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Float32Array([
10]), gl.STATIC_DRAW);
49 gl.bufferSubData(gl.ARRAY_BUFFER,
0, new Float32Array([
10]));
51 assertOk(
"bind to null",
52 function(){gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null)});
55 Tests.testBindBuffer = function(gl) {
56 assertFail(
"bind ARRAY_BUFFER to number",
57 function(){gl.bindBuffer(gl.ARRAY_BUFFER,
1);});
58 assertFail(
"bind ELEMENT_ARRAY_BUFFER to number",
59 function(){gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,
1);});
60 assertFail(
"bind bad target",
61 function(){gl.bindBuffer(gl.FLOAT,
0);});
62 assertFail(
"bind ARRAY_BUFFER to string",
63 function(){gl.bindBuffer(gl.ARRAY_BUFFER,
"foo");});
64 assertFail(
"bind ELEMENT_ARRAY_BUFFER to string",
65 function(){gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,
"foo");});
70 <style>canvas{ position:absolute; }
</style>
72 <canvas id=
"gl" width=
"1" height=
"1"></canvas>