Index: tests/ValueTest.cpp |
diff --git a/tests/ValueTest.cpp b/tests/ValueTest.cpp |
index 220ef2f9aeceb43d318a2c2f3c250a837c9c25d4..99625307839b9f573dde980cf8b989d0d3aff83a 100644 |
--- a/tests/ValueTest.cpp |
+++ b/tests/ValueTest.cpp |
@@ -6,4 +6,21 @@ |
*/ |
#include "Test.h" |
-#include "SkValue.h" |
+#include "SkValueKeys.h" |
+#include "SkXfermode.h" |
+ |
+DEF_TEST(Value_Xfermode, r) { |
+ |
+ SkAutoTUnref<SkXfermode> xfermode( |
+ SkXfermode::Create(SkXfermode::kDstOver_Mode)); |
+ SkValue val = xfermode->represent(); |
+ REPORTER_ASSERT(r, SkValue::ProcCoeffXfermode == val.type()); |
+ SkValue valCopy = val; |
+ REPORTER_ASSERT(r, SkValue::ProcCoeffXfermode == valCopy.type()); |
+ |
+ const SkValue* mode = val.get(SkValueKeys::ProcCoeffXfermode_Mode); |
+ REPORTER_ASSERT(r, mode); |
+ if (mode) { |
+ REPORTER_ASSERT(r, (uint32_t)SkXfermode::kDstOver_Mode == mode->u32()); |
+ } |
+} |