5#include "flutter/display_list/effects/dl_color_filter.h"
6#include "flutter/display_list/testing/dl_test_equality.h"
18TEST(DisplayListColorFilter, BlendConstructor) {
22TEST(DisplayListColorFilter, BlendShared) {
24 ASSERT_NE(filter.
shared().get(), &filter);
25 ASSERT_EQ(*filter.
shared(), filter);
28TEST(DisplayListColorFilter, BlendAsBlend) {
30 ASSERT_NE(filter.
asBlend(),
nullptr);
31 ASSERT_EQ(filter.
asBlend(), &filter);
34TEST(DisplayListColorFilter, BlendContents) {
40TEST(DisplayListColorFilter, BlendEquals) {
46TEST(DisplayListColorFilter, BlendNotEquals) {
54TEST(DisplayListColorFilter, NopBlendShouldNotCrash) {
59TEST(DisplayListColorFilter, MatrixConstructor) {
63TEST(DisplayListColorFilter, MatrixShared) {
65 ASSERT_NE(filter.
shared().get(), &filter);
66 ASSERT_EQ(*filter.
shared(), filter);
69TEST(DisplayListColorFilter, MatrixAsMatrix) {
71 ASSERT_NE(filter.
asMatrix(),
nullptr);
72 ASSERT_EQ(filter.
asMatrix(), &filter);
75TEST(DisplayListColorFilter, MatrixContents) {
77 memcpy(matrix,
kMatrix,
sizeof(matrix));
81 for (
int i = 0; i < 20; i++) {
82 ASSERT_EQ(filter[i], matrix[i]);
88 for (
int i = 0; i < 20; i++) {
89 ASSERT_EQ(matrix2[i], matrix[i]);
93 float original_value = matrix[4];
95 ASSERT_EQ(filter[4], original_value);
98TEST(DisplayListColorFilter, MatrixEquals) {
104TEST(DisplayListColorFilter, MatrixNotEquals) {
106 memcpy(matrix,
kMatrix,
sizeof(matrix));
113TEST(DisplayListColorFilter, NopMatrixShouldNotCrash) {
124TEST(DisplayListColorFilter, SrgbToLinearConstructor) {
128TEST(DisplayListColorFilter, SrgbToLinearShared) {
130 ASSERT_NE(filter.
shared().get(), &filter);
131 ASSERT_EQ(*filter.
shared(), filter);
134TEST(DisplayListColorFilter, SrgbToLinearEquals) {
141TEST(DisplayListColorFilter, LinearToSrgbConstructor) {
145TEST(DisplayListColorFilter, LinearToSrgbShared) {
147 ASSERT_NE(filter.
shared().get(), &filter);
148 ASSERT_EQ(*filter.
shared(), filter);
151TEST(DisplayListColorFilter, LinearToSrgbEquals) {
#define TEST(S, s, D, expected)
const DlBlendColorFilter * asBlend() const override
std::shared_ptr< DlColorFilter > shared() const override
bool modifies_transparent_black() const override
std::shared_ptr< DlColorFilter > shared() const override
static const std::shared_ptr< DlLinearToSrgbGammaColorFilter > kInstance
std::shared_ptr< DlColorFilter > shared() const override
void get_matrix(float matrix[20]) const
const DlMatrixColorFilter * asMatrix() const override
bool modifies_transparent_black() const override
static const std::shared_ptr< DlSrgbToLinearGammaColorFilter > kInstance
std::shared_ptr< DlColorFilter > shared() const override
static const float kMatrix[20]
static void TestNotEquals(T &source1, T &source2, const std::string &label)
static void TestEquals(T &source1, T &source2)
@ kSrcOver
r = s + (1-sa)*d
@ kDstATop
r = d*sa + s*(1-da)
static constexpr DlColor kBlue()
static constexpr DlColor kTransparent()
static constexpr DlColor kRed()