mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
60 lines
2.1 KiB
HTML
60 lines
2.1 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html><head>
|
||
|
<meta http-equiv="content-type" content="text/html; 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 = canvas.getContext(GL_CONTEXT_ID);
|
||
|
return [gl];
|
||
|
}
|
||
|
|
||
|
Tests.testSimpleBadArgs = function(gl) {
|
||
|
var p = gl.createProgram();
|
||
|
var shaders = [null];
|
||
|
for (var i=0; i<1022; i++) {
|
||
|
shaders[i+1] = gl.createShader(gl.FRAGMENT_SHADER);
|
||
|
}
|
||
|
gl.attachShader(p, shaders[10]);
|
||
|
gl.attachShader(p, shaders[3]);
|
||
|
gl.attachShader(p, shaders[1020]);
|
||
|
gl.attachShader(p, shaders[1021]);
|
||
|
gl.attachShader(p, shaders[shaders.length-1]);
|
||
|
assertFail(function() { gl.attachShader(p, 564732608); });
|
||
|
assertFail(function() { gl.compileShader(840002); });
|
||
|
assertFail(function() { gl.attachShader(p, 840002); });
|
||
|
assertFail(function() { gl.attachShader(p, -58920); });
|
||
|
assertFail(function() { gl.attachShader(p, 16300); });
|
||
|
assertFail(function() { gl.attachShader(p, 1200020); });
|
||
|
assertFail(function() { gl.attachShader(p, 90930020); });
|
||
|
// assertFail(function() { gl.attachShader(p, NaN); });
|
||
|
assertFail(function() { gl.attachShader(p, 5892.3); });
|
||
|
assertFail(function() { gl.attachShader(p, -12.3); });
|
||
|
assertFail(function() { gl.attachShader(p, -1); });
|
||
|
assertFail(function() { gl.attachShader(p, 5901080860202); });
|
||
|
assertFail(function() { gl.attachShader(p, 590108080000060202); });
|
||
|
assertOk(function(){ gl.linkProgram(p); });
|
||
|
gl.deleteProgram(p);
|
||
|
for (var i=1; i<shaders.length; i++) {
|
||
|
assertOk(function() { gl.deleteShader(shaders[i]); });
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Tests.testNoSuchProgram = function(gl) {
|
||
|
for (var i=0; i<100; i++) {
|
||
|
assertFail(function(){gl.linkProgram(Math.floor(Math.random() * 100000));});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Tests.endUnit = function(gl) {
|
||
|
}
|
||
|
|
||
|
</script>
|
||
|
<style>canvas{ position:absolute; }</style>
|
||
|
</head><body>
|
||
|
<canvas id="gl" width="16" height="16"></canvas>
|
||
|
</body></html>
|