Index: tests/PMFloatTest.cpp |
diff --git a/tests/PMFloatTest.cpp b/tests/PMFloatTest.cpp |
index 94cd663a5331d5f1a4a8ee3644329491e2647291..f722e80839ab2a20e9cca61b682a4a5131b6d160 100644 |
--- a/tests/PMFloatTest.cpp |
+++ b/tests/PMFloatTest.cpp |
@@ -2,6 +2,7 @@ |
#include "Test.h" |
DEF_TEST(SkPMFloat, r) { |
+ // Test SkPMColor <-> SkPMFloat |
SkPMColor c = SkPreMultiplyColor(0xFFCC9933); |
SkPMFloat pmf; |
@@ -13,6 +14,7 @@ DEF_TEST(SkPMFloat, r) { |
REPORTER_ASSERT(r, c == pmf.get()); |
+ // Test clamping. |
SkPMFloat unclamped; |
unclamped.setA(+2.0f); |
unclamped.setR(+0.2f); |
@@ -26,4 +28,13 @@ DEF_TEST(SkPMFloat, r) { |
REPORTER_ASSERT(r, SkScalarNearlyEqual(0.2f, clamped.r())); |
REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, clamped.g())); |
REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, clamped.b())); |
+ |
+ // Test SkPMFloat <-> Sk4f conversion. |
+ Sk4f fs = clamped; |
+ SkPMFloat scaled = fs.multiply(Sk4f(4,4,4,4)); |
+ |
+ REPORTER_ASSERT(r, SkScalarNearlyEqual(4.0f, scaled.a())); |
+ REPORTER_ASSERT(r, SkScalarNearlyEqual(0.8f, scaled.r())); |
+ REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, scaled.g())); |
+ REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, scaled.b())); |
} |