diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /dom/canvas/test/webgl-conf/checkout/deqp/data/gles2/shaders/shader-lib-test.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
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.html | 462 |
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 000000000..864ad8046 --- /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> |