bindBufferBadArgs.html (2833B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <!-- 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. 9 --> 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"> 14 15 Tests.startUnit = function () { 16 var canvas = document.getElementById('gl'); 17 var gl = wrapGLContext(getGLContext(canvas)); 18 return [gl]; 19 } 20 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])); 28 }); 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])); 33 }); 34 assertOk("bind to null", function(){gl.bindBuffer(gl.ARRAY_BUFFER, null)}); 35 gl.deleteBuffer(b); 36 } 37 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])); 45 }); 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])); 50 }); 51 assertOk("bind to null", 52 function(){gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null)}); 53 gl.deleteBuffer(b); 54 } 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");}); 66 } 67 68 </script> 69 70 <style>canvas{ position:absolute; }</style> 71 </head><body> 72 <canvas id="gl" width="1" height="1"></canvas> 73 </body></html>