From 90791c370a801659c4a49aacc9f49b30b195bf8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 21 Oct 2016 23:26:14 +0200 Subject: [PATCH] Test that nothing is added before user-specified shader version directive. Fails. --- src/Magnum/Test/ShaderGLTest.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/Magnum/Test/ShaderGLTest.cpp b/src/Magnum/Test/ShaderGLTest.cpp index be28f5345..f28601912 100644 --- a/src/Magnum/Test/ShaderGLTest.cpp +++ b/src/Magnum/Test/ShaderGLTest.cpp @@ -45,6 +45,7 @@ struct ShaderGLTest: AbstractOpenGLTester { void label(); void addSource(); + void addSourceNoVersion(); void addFile(); void compile(); }; @@ -58,6 +59,7 @@ ShaderGLTest::ShaderGLTest() { &ShaderGLTest::label, &ShaderGLTest::addSource, + &ShaderGLTest::addSourceNoVersion, &ShaderGLTest::addFile, &ShaderGLTest::compile}); } @@ -183,6 +185,36 @@ void ShaderGLTest::addSource() { #endif } +void ShaderGLTest::addSourceNoVersion() { + Shader shader(Version::None, Shader::Type::Fragment); + + #ifndef MAGNUM_TARGET_GLES + shader.addSource("#version 120\n"); + #else + shader.addSource("#version 100\n"); + #endif + shader.addSource("#define FOO BAR\n") + .addSource("void main() {}\n"); + + #ifndef MAGNUM_TARGET_GLES + CORRADE_COMPARE(shader.sources(), (std::vector{ + "#version 120\n", + "#line 1 1\n", + "#define FOO BAR\n", + "#line 1 2\n", + "void main() {}\n" + })); + #else + CORRADE_COMPARE(shader.sources(), (std::vector{ + "#version 100\n", + "#line 1 1\n", + "#define FOO BAR\n", + "#line 1 2\n", + "void main() {}\n" + })); + #endif +} + void ShaderGLTest::addFile() { #ifndef MAGNUM_TARGET_GLES Shader shader(Version::GL210, Shader::Type::Fragment);