<div id="console"></div>
<script>
"use strict";
+
+var pseudoRandom = (function() {
+ var seed = 3;
+ return function() {
+ seed = (seed * 11 + 17) % 25;
+ return seed / 25;
+ };
+})();
+
var randomizeCase = function(str) {
var newChars = [];
for (var ii = 0; ii < str.length; ++ii) {
var c = str.substr(ii, 1);
- var m = (Math.random() > 0.5) ? c.toLowerCase() : c.toUpperCase();
+ var m = (pseudoRandom() > 0.5) ? c.toLowerCase() : c.toUpperCase();
newChars.push(m);
}
return newChars.join("");
-}
+};
description();
-debug("");
var wtu = WebGLTestUtils;
var canvas = document.getElementById("canvas");
var gl = wtu.create3DContext(canvas);
+var ii;
+
debug("check every extension advertised can be enabled");
-var extensions = [];
+debug("");
var extensionNames = gl.getSupportedExtensions();
-for (var ii = 0; ii < extensionNames.length; ++ii) {
+var extensionNamesLower = [];
+for (ii = 0; ii < extensionNames.length; ++ii) {
+ extensionNamesLower.push(extensionNames[ii].toLowerCase());
+}
+
+for (ii = 0; ii < extensionNames.length; ++ii) {
var originalName = extensionNames[ii];
var mixedName = randomizeCase(originalName);
var extension = gl.getExtension(mixedName);
extension2.testObjectProperty === kTestObject &&
extension2.testNumberProperty === kTestNumber,
"object returned by 2nd call to getExtension has same properties");
+
+ var prefixedVariants = wtu.getExtensionPrefixedNames(originalName);
+ for (var jj = 0; jj < prefixedVariants.length; ++jj) {
+ assertMsg(
+ gl.getExtension(prefixedVariants[jj]) === null ||
+ extensionNamesLower.indexOf(prefixedVariants[jj].toLowerCase()) !== -1,
+ "getExtension('" + prefixedVariants[jj] + "') returns an object only if the name is returned by getSupportedExtensions");
+ }
}
+ debug("");
}
-debug("");
var successfullyParsed = true;
</script>
<script src="../../resources/js-test-post.js"></script>