diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/SkSLErrorTest.cpp | 6 | ||||
-rw-r--r-- | tests/SkSLGLSLTest.cpp | 24 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/SkSLErrorTest.cpp b/tests/SkSLErrorTest.cpp index 3afb64fe61..9e89b71473 100644 --- a/tests/SkSLErrorTest.cpp +++ b/tests/SkSLErrorTest.cpp @@ -94,6 +94,12 @@ DEF_TEST(SkSLConstructorTypeMismatch, r) { "void main() { vec2 x = vec2(1.0, false); }", "error: 1: expected 'float', but found 'bool'\n1 error\n"); test_failure(r, + "void main() { vec2 x = vec2(bvec2(false)); }", + "error: 1: 'bvec2' is not a valid parameter to 'vec2' constructor\n1 error\n"); + test_failure(r, + "void main() { bvec2 x = bvec2(vec2(1)); }", + "error: 1: 'vec2' is not a valid parameter to 'bvec2' constructor\n1 error\n"); + test_failure(r, "void main() { bool x = bool(1.0); }", "error: 1: cannot construct 'bool'\n1 error\n"); test_failure(r, diff --git a/tests/SkSLGLSLTest.cpp b/tests/SkSLGLSLTest.cpp index ad1fe0d901..610ff2b5ab 100644 --- a/tests/SkSLGLSLTest.cpp +++ b/tests/SkSLGLSLTest.cpp @@ -368,6 +368,30 @@ DEF_TEST(SkSLHex, r) { "}\n"); } +DEF_TEST(SkSLVectorConstructors, r) { + test(r, + "vec2 v1 = vec2(1);" + "vec2 v2 = vec2(1, 2);" + "vec2 v3 = vec2(vec2(1));" + "vec2 v4 = vec2(vec3(1));" + "vec3 v5 = vec3(vec2(1), 1.0);" + "vec3 v6 = vec3(vec4(1, 2, 3, 4));" + "ivec2 v7 = ivec2(1);" + "ivec2 v8 = ivec2(vec2(1, 2));" + "vec2 v9 = vec2(ivec2(1, 2));", + default_caps(), + "#version 400\n" + "vec2 v1 = vec2(1.0);\n" + "vec2 v2 = vec2(1.0, 2.0);\n" + "vec2 v3 = vec2(1.0);\n" + "vec2 v4 = vec2(vec3(1.0));\n" + "vec3 v5 = vec3(vec2(1.0), 1.0);\n" + "vec3 v6 = vec3(vec4(1.0, 2.0, 3.0, 4.0));\n" + "ivec2 v7 = ivec2(1);\n" + "ivec2 v8 = ivec2(vec2(1.0, 2.0));\n" + "vec2 v9 = vec2(ivec2(1, 2));\n"); +} + DEF_TEST(SkSLArrayConstructors, r) { test(r, "float test1[] = float[](1, 2, 3, 4);" |