1 // Unit tests for AlphaDivisionEffect.
4 #include "gtest/gtest.h"
6 TEST(AlphaDivisionEffectTest, SimpleTest) {
8 float data[4 * size] = {
9 0.1f, 0.5f, 0.1f, 0.5f,
10 0.2f, 0.2f, 1.0f, 1.0f,
12 float expected_data[4 * size] = {
13 0.2f, 1.0f, 0.2f, 0.5f,
14 0.2f, 0.2f, 1.0f, 1.0f,
16 float out_data[4 * size];
17 EffectChainTester tester(data, 1, size, FORMAT_RGBA_PREMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
18 tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
20 expect_equal(expected_data, out_data, 4, size);
23 TEST(AlphaDivisionEffectTest, ZeroAlphaIsPreserved) {
25 float data[4 * size] = {
26 0.1f, 0.5f, 0.1f, 0.0f,
27 0.0f, 0.0f, 0.0f, 0.0f,
29 float out_data[4 * size];
30 EffectChainTester tester(data, 1, size, FORMAT_RGBA_PREMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
31 tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
33 EXPECT_EQ(0.0f, out_data[3]);
34 EXPECT_EQ(0.0f, out_data[7]);