diff options
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/conformance/more/conformance/quickCheckAPI-B4.html')
-rw-r--r-- | dom/canvas/test/webgl-conf/checkout/conformance/more/conformance/quickCheckAPI-B4.html | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/conformance/more/conformance/quickCheckAPI-B4.html b/dom/canvas/test/webgl-conf/checkout/conformance/more/conformance/quickCheckAPI-B4.html new file mode 100644 index 0000000000..9ee5228e78 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/conformance/more/conformance/quickCheckAPI-B4.html @@ -0,0 +1,63 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<!-- +Copyright (c) 2019 The Khronos Group Inc. +Use of this source code is governed by an MIT-style license that can be +found in the LICENSE.txt file. +--> +<link rel="stylesheet" type="text/css" href="../unit.css" /> +<script type="application/javascript" src="../unit.js"></script> +<script type="application/javascript" src="../util.js"></script> +<script type="application/javascript" src="quickCheckAPI.js"></script> +<script type="application/javascript" src="argGenerators-B4.js"></script> + +<script type="application/javascript"> + +// Test that all GL functions specified in ArgGenerators work +// when called with randomly generated valid arguments +Tests.testValidArgs = function() { + var randomTestCount = 100; + for (var name in ArgGenerators) { + try { + if (!GL[name]) + throw (new Error(name + " is missing from the WebGL context")); + var argGen = ArgGenerators[name]; + var alreadyTriedArgs = {}; + if (!argGen.generate) continue; + // test each GL function with randomTestCount randomly generated valid args + argGeneratorTestRunner(argGen, function(args, gen, setupVars) { + if (!gen.noAlreadyTriedCheck) { + var src = Object.toSource(args); + if (alreadyTriedArgs[src]) + return true; + + alreadyTriedArgs[src] = true; + } + var ok = false; + // if we have an validity checker, assert that the generated args are valid + if (gen.checkArgValidity) + assert("Valid args: "+name+"("+argsToString(args)+")", + gen.checkArgValidity.apply(gen, args)); + var rv; + // assert that GL function works when called with valid args + assertOk("This should work: "+name+"("+argsToString(args)+")", + function(){rv = GL[name].apply(GL, args); ok = true;}); + // if we need to cleanup the return value, do it here + // e.g. calling gl.deleteBuffer(rv) after testing gl.createBuffer() above + if (gen.returnValueCleanup) + assertOk("Cleaning up return value after "+name+"("+argsToString(args)+")", + function() { gen.returnValueCleanup(rv); }); + return ok; + }, argGen.testCount || randomTestCount); + } catch(e) { + testFailed(name, e.name, formatError(e)); + } + } +} + +</script> +<style>canvas{position:absolute;}</style> +</head><body> +</body></html> |