summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html')
-rw-r--r--dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html462
1 files changed, 462 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html b/dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html
new file mode 100644
index 0000000000..864ad80465
--- /dev/null
+++ b/dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html
@@ -0,0 +1,462 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>WebGL Shader Conformance Tests</title>
+<link rel="stylesheet" href="../../../../resources/js-test-style.css"/>
+<script src="../../../../js/js-test-pre.js"></script>
+<script src="../../../../js/webgl-test.js"></script>
+<script src="../../../../js/webgl-test-utils.js"></script>
+<script src="shader-utils.js"></script>
+<script src="shader-library.js"></script>
+<script src="shader-library-case.js"></script>
+</head>
+<body>
+<div id="description"></div>
+<div id="console"></div>
+<script>
+
+ description("Testing the .test parser components.");
+
+ var wtu = WebGLTestUtils;
+ var successfullyParsed = false;
+ var parser = new shaderLibrary.Parser();
+
+
+ // this array of functions is processed sequentially.
+ // returning false will abort
+ var tests = [
+
+
+ function() {
+ var result = shaderLibrary.isWhitespace(" ");
+ test_result(
+ "Checking isWhitespace. Passing \" \". Expecting true",
+ result === true, result
+ );
+ return true;
+ },
+ function() {
+ var result = shaderLibrary.isWhitespace("q");
+ test_result(
+ "Checking isWhitespace. Passing \"q\". Expecting false",
+ result === false, result
+ );
+ return true;
+ },
+ function() {
+ var result = shaderLibrary.isWhitespace(" \r\n\t");
+ test_result(
+ "Checking isWhitespace. Passing \" \\r\\n\\t\". Expecting true",
+ result === true, result
+ );
+ return true;
+ },
+ function() {
+ var result = shaderLibrary.isWhitespace(" \r\n\tq");
+ test_result(
+ "Checking isWhitespace. Passing \" \\r\\n\\tq\". Expecting false",
+ result === false, result
+ );
+ return true;
+ },
+
+ function() {
+ try {
+ var result = shaderLibrary.removeExtraIndentation(
+ "\t\t\taaaa\n\t \t\tbbbb\n\t\t\tcccc\r\n\t\t\tdddd"
+ );
+ } catch (err) {
+ result = "aborted";
+ }
+
+ test_result(
+ "Checking removeExtraIndentation. \
+ Passing \"\t\t\taaaa\n\t \t\tbbbb\n\t\t\tcccc\r\n\t\t\tdddd\". \
+ Expecting \"aaaa\n\tbbbb\ncccc\ndddd\"",
+ result === "aaaa\n\tbbbb\ncccc\ndddd",
+ result
+ );
+ return true;
+ },
+
+
+ function() {
+ // looking for private access to the parser object
+ var result = (typeof parser.priv != 'undefined');
+ test_result("looking for private member access", result, result);
+ return result;
+ },
+
+ function() {
+ try {
+ var result = parser.priv.parseIntLiteral("42");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking int parser. Passing \"42\". Expecting 42",
+ result === 42, result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseIntLiteral("-5");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking int parser. Passing \"-5\". Expecting -5",
+ result === -5, result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseIntLiteral("42.9");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking int parser. Passing \"42.9\". Expecting 42",
+ result === 42, result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseFloatLiteral("42.9");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking float parser. Passing \"42.9\". Expecting 42.9",
+ result === 42.9, result
+ );
+ return true;
+ },
+
+
+ function() {
+ try {
+ var result = parser.priv.parseStringLiteral("\"hello world\"");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking string parser. Passing \"\"hello world\"\". Expecting \"hello world\"",
+ result == "hello world", result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseStringLiteral("\"hello world\"extra");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking string parser. Passing \"\"hello world\"extra\". Expecting \"hello world\"",
+ result == "hello world", result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseStringLiteral("\"\\\"\\\"\\\"\"\\\"\"");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking string parser. Passing \"\"\\\"\\\"\\\"\"\\\"\"\". Expecting \"\"\"\"\"",
+ result == "\"\"\"", result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseStringLiteral("\"newline test\\nnewline test\"");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking string parser. Passing \"\"newline test\\nnewline test\"\". Expecting \"newline test\nnewline test\"",
+ result == "newline test\nnewline test", result
+ );
+ return true;
+ },
+ function() {
+ try {
+ var result = parser.priv.parseStringLiteral("\"tab test\\ttab test\"");
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking string parser. Passing \"\"tab test\\ttab test\"\". Expecting \"tab test\ttab test\"",
+ result == "tab test\ttab test", result
+ );
+ return true;
+ },
+
+ function() {
+ try {
+ var result = parser.priv.parseShaderSource(
+ "\"\"\t\t\taaaa\n\t \t\tbbbb\n\t\t\tcccc\r\n\t\t\tdddd\"\""
+ );
+ } catch (err) {
+ result = "aborted";
+ }
+
+ test_result(
+ "Checking parseShaderSource. \
+ Passing \"\"\"\t\t\taaaa\n\t \t\tbbbb\n\t\t\tcccc\r\n\t\t\tdddd\"\"\". \
+ Expecting \"aaaa\n\tbbbb\ncccc\ndddd\"",
+ result === "aaaa\n\tbbbb\ncccc\ndddd",
+ result
+ );
+ return true;
+ },
+
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("bool value = true;", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"bool value = true;\", 0",
+ result.idType == parser.priv.Token.TOKEN_BOOL && result.value == "bool",
+ result.name + ": " + result.value
+ );
+ },
+
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("bool value = true;", 4);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"bool value = true;\", 4",
+ result.idType == parser.priv.Token.TOKEN_IDENTIFIER && result.value == "value",
+ result.name + ": " + result.value
+ );
+ },
+ //*
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("bool value = true;", 11);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"bool value = true;\", 11",
+ result.idType == parser.priv.Token.TOKEN_ASSIGN,
+ result.name + ": " + result.value
+ );
+ },
+ //*/
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("bool value = true;", 12);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"bool value = true;\", 12",
+ result.idType == parser.priv.Token.TOKEN_TRUE && result.value == "true",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("bool value = true;", 17);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"bool value = true;\", 17",
+ result.idType == parser.priv.Token.TOKEN_SEMI_COLON && result.value == ";",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("-7", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"-7\", 0",
+ result.idType == parser.priv.Token.TOKEN_MINUS && result.value == "-",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("-7", 1);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"-7\", 1",
+ result.idType == parser.priv.Token.TOKEN_INT_LITERAL && result.value == "7",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("3.145", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"3.145\", 0",
+ result.idType == parser.priv.Token.TOKEN_FLOAT_LITERAL && result.value == "3.145",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("1.0e+10", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"1.0e+10\", 0",
+ result.idType == parser.priv.Token.TOKEN_FLOAT_LITERAL && result.value == "1.0e+10",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("1.0e", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"1.0e\", 0",
+ result === "aborted",
+ result
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("\"\"shader source\"\";", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"\"\"shader source\"\";\", 0",
+ result.idType == parser.priv.Token.TOKEN_SHADER_SOURCE && result.value == "\"\"shader source\"\"",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("\"string\";", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"\"string\";\", 0",
+ result.idType == parser.priv.Token.TOKEN_STRING && result.value == "\"string\"",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("\'string\';", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"\'string\';\", 0",
+ result.idType == parser.priv.Token.TOKEN_STRING && result.value == "\'string\'",
+ result.name + ": " + result.value
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("\'string\";", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"\'string\";\", 0",
+ result === "aborted",
+ result
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.advanceTokenTester("\'string\\", 0);
+ } catch (err) {
+ result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing \"\'string\\\", 0",
+ result === "aborted",
+ result
+ );
+ },
+ function() {
+ try {
+ var result = parser.priv.mapDataTypeToken(parser.priv.Token.TOKEN_INT);
+ } catch (err) {
+ var result = "aborted";
+ }
+ test_result(
+ "Checking advanceToken. Passing parser.priv.Token.TOKEN_INT",
+ result === shaderUtils.DataType.TYPE_INT,
+ result
+ );
+ },
+
+ function() {
+ successfullyParsed = true;i
+ return true;
+ },
+
+ ];
+
+ var current = 0;
+
+ function test_result(description, result, additional) {
+ switch (typeof(additional)) {
+ case "undefined":
+ break;
+ case "string":
+ description += ": \"" + additional + "\"";
+ break;
+ default:
+ description += ": " + additional;
+ break;
+ }
+ if (result) {
+ testPassed(description);
+ } else {
+ testFailed(description);
+ }
+ }
+
+ function do_next() {
+ if (tests[current]() !== false && tests.length > ++current) {
+ setTimeout(do_next, 0);
+ } else {
+ on_complete();
+ }
+ }
+
+ function on_complete() {
+ var testPost = document.createElement('script');
+ testPost.src = "../../../../js/js-test-post.js";
+ document.body.appendChild(testPost);
+ }
+
+ do_next();
+
+//
+</script>
+</body>
+</html>