Browse Source

Test that nothing is added before user-specified shader version directive.

Fails.
pull/187/head^2
Vladimír Vondruš 10 years ago
parent
commit
90791c370a
  1. 32
      src/Magnum/Test/ShaderGLTest.cpp

32
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<std::string>{
"#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<std::string>{
"#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);

Loading…
Cancel
Save