| Index: conformance/more/functions/bufferSubDataBadArgs.html
|
| ===================================================================
|
| --- conformance/more/functions/bufferSubDataBadArgs.html (revision 0)
|
| +++ conformance/more/functions/bufferSubDataBadArgs.html (revision 0)
|
| @@ -0,0 +1,67 @@
|
| +<!DOCTYPE html>
|
| +<html><head>
|
| +<meta charset="utf-8">
|
| +<link rel="stylesheet" type="text/css" href="../unit.css" />
|
| +<script type="application/x-javascript" src="../unit.js"></script>
|
| +<script type="application/x-javascript" src="../util.js"></script>
|
| +<script type="application/x-javascript">
|
| +
|
| +Tests.startUnit = function () {
|
| + var canvas = document.getElementById('gl');
|
| + var gl = wrapGLContext(canvas.getContext(GL_CONTEXT_ID));
|
| + var buf = gl.createBuffer();
|
| + var ebuf = gl.createBuffer();
|
| + gl.bindBuffer(gl.ARRAY_BUFFER, buf);
|
| + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, ebuf);
|
| + return [gl, buf, ebuf];
|
| +}
|
| +
|
| +Tests.testBufferData = function(gl) {
|
| + var data = [0,0,0,0, 1,0,0,0, 0,1,0,0];
|
| + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(data), gl.STREAM_DRAW);
|
| + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(data), gl.STREAM_DRAW);
|
| + assertOk("zero length data",
|
| + function(){gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array(0));});
|
| + assertFail("number for data",
|
| + function(){gl.bufferSubData(gl.ARRAY_BUFFER, 0, 12);});
|
| + assertFail("bad target",
|
| + function(){gl.bufferSubData(gl.TEXTURE_2D, 0, new Float32Array([1,2,3]));});
|
| + assertFail("array for data",
|
| + function(){gl.bufferSubData(gl.ARRAY_BUFFER, 0, [1,2,3]);});
|
| + assertOk("floats in element buffer",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Float32Array([1,2,3]));});
|
| + assertFail("negative offset",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, -1, new Uint16Array([1,2,3]));});
|
| + assertFail("offset out of range",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 24, new Uint16Array([1,2,3]));});
|
| + assertFail("offset out of range",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 2400000, new Uint16Array([1,2,3]));});
|
| + assertFail("offset out of range",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 19, new Uint16Array([1,2,3]));});
|
| + assertFail("data too large",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array(data.concat([1])));});
|
| + assertOk("offset + data too large",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 18, new Uint16Array([1,2,3]));});
|
| + assertOk("good args",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array([1,2,3]));});
|
| + throwError(gl, 'bufferData0');
|
| + gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
| + assertFail("setting buffer 0",
|
| + function(){gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3]));});
|
| + throwError(gl, 'bufferData1');
|
| + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
|
| + assertFail("setting buffer 0",
|
| + function(){gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array([1,2,3]));});
|
| + throwError(gl, 'bufferData2');
|
| +}
|
| +
|
| +Tests.endUnit = function(gl, buf, ebuf) {
|
| + gl.deleteBuffer(buf);
|
| + gl.deleteBuffer(ebuf);
|
| +}
|
| +
|
| +</script>
|
| +<style>canvas{ position:absolute; }</style>
|
| +</head><body>
|
| +<canvas id="gl" width="16" height="16"></canvas>
|
| +</body></html>
|
|
|
| Property changes on: conformance/more/functions/bufferSubDataBadArgs.html
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|