aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ColorSpaceTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ColorSpaceTest.cpp')
-rw-r--r--tests/ColorSpaceTest.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ColorSpaceTest.cpp b/tests/ColorSpaceTest.cpp
index ba355cd612..65e0450892 100644
--- a/tests/ColorSpaceTest.cpp
+++ b/tests/ColorSpaceTest.cpp
@@ -419,3 +419,23 @@ DEF_TEST(ColorSpace_InvalidICC, r) {
sk_sp<SkColorSpace> cs = SkColorSpace::MakeICC(data->data(), data->size());
REPORTER_ASSERT(r, !cs);
}
+
+DEF_TEST(ColorSpace_MatrixHash, r) {
+ sk_sp<SkColorSpace> srgb = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named);
+
+ SkColorSpaceTransferFn fn;
+ fn.fA = 1.0f;
+ fn.fB = 0.0f;
+ fn.fC = 0.0f;
+ fn.fD = 0.0f;
+ fn.fE = 0.0f;
+ fn.fF = 0.0f;
+ fn.fG = 3.0f;
+
+ SkMatrix44 srgbMat(SkMatrix44::kUninitialized_Constructor);
+ srgbMat.set3x3RowMajorf(gSRGB_toXYZD50);
+ sk_sp<SkColorSpace> strange = SkColorSpace::MakeRGB(fn, srgbMat);
+
+ REPORTER_ASSERT(r, *as_CSB(srgb)->toXYZD50() == *as_CSB(strange)->toXYZD50());
+ REPORTER_ASSERT(r, as_CSB(srgb)->toXYZD50Hash() == as_CSB(strange)->toXYZD50Hash());
+}