#include "GLSLANG/ShaderLang.h"
#include "angle_gl.h"
#include "gtest/gtest.h"
TEST(ConstructCompilerTest, DefaultParameters)
{
ShBuiltInResources resources;
sh::InitBuiltInResources(&resources);
ShHandle compiler = sh::ConstructCompiler(GL_FRAGMENT_SHADER, SH_WEBGL_SPEC,
SH_GLSL_COMPATIBILITY_OUTPUT, &resources);
ASSERT_NE(nullptr, compiler);
sh::Destruct(compiler);
}
TEST(ConstructCompilerTest, InvalidMaxDrawBuffers)
{
ShBuiltInResources resources;
sh::InitBuiltInResources(&resources);
resources.MaxDrawBuffers = 0;
ShHandle compiler = sh::ConstructCompiler(GL_FRAGMENT_SHADER, SH_WEBGL_SPEC,
SH_GLSL_COMPATIBILITY_OUTPUT, &resources);
ASSERT_EQ(nullptr, compiler);
}
TEST(ConstructCompilerTest, InvalidMaxDualSourceDrawBuffers)
{
ShBuiltInResources resources;
sh::InitBuiltInResources(&resources);
resources.EXT_blend_func_extended = 1;
resources.MaxDualSourceDrawBuffers = 0;
ShHandle compiler = sh::ConstructCompiler(GL_FRAGMENT_SHADER, SH_WEBGL_SPEC,
SH_GLSL_COMPATIBILITY_OUTPUT, &resources);
ASSERT_EQ(nullptr, compiler);
}