Index: tests/SerializationTest.cpp |
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp |
index b6ee978869c1b7fda10f471ba2c63e70b4b3dad6..0eaf178540565717993eede2181644b101dbd0bc 100644 |
--- a/tests/SerializationTest.cpp |
+++ b/tests/SerializationTest.cpp |
@@ -261,6 +261,48 @@ static void TestBitmapSerialization(const SkBitmap& validBitmap, |
} |
} |
+static void TestXfermodeSerialization(skiatest::Reporter* reporter) { |
reed1
2014/09/24 15:58:46
Ensuring that this list matches the enum in SkXfer
Stephen White
2014/09/24 16:38:39
Good idea. Done.
|
+ const SkXfermode::Mode gModes[] = { |
+ SkXfermode::kClear_Mode, |
+ SkXfermode::kSrc_Mode, |
+ SkXfermode::kDst_Mode, |
+ // Don't test SrcOver_Mode, since this (correctly) deserializes as NULL |
+// SkXfermode::kSrcOver_Mode, |
+ SkXfermode::kDstOver_Mode, |
+ SkXfermode::kSrcIn_Mode, |
+ SkXfermode::kDstIn_Mode, |
+ SkXfermode::kSrcOut_Mode, |
+ SkXfermode::kDstOut_Mode, |
+ SkXfermode::kSrcATop_Mode, |
+ SkXfermode::kDstATop_Mode, |
+ SkXfermode::kXor_Mode, |
+ |
+ SkXfermode::kPlus_Mode, |
+ SkXfermode::kModulate_Mode, |
+ SkXfermode::kScreen_Mode, |
+ SkXfermode::kOverlay_Mode, |
+ SkXfermode::kDarken_Mode, |
+ SkXfermode::kLighten_Mode, |
+ SkXfermode::kColorDodge_Mode, |
+ SkXfermode::kColorBurn_Mode, |
+ SkXfermode::kHardLight_Mode, |
+ SkXfermode::kSoftLight_Mode, |
+ SkXfermode::kDifference_Mode, |
+ SkXfermode::kExclusion_Mode, |
+ SkXfermode::kMultiply_Mode, |
+ SkXfermode::kHue_Mode, |
+ SkXfermode::kSaturation_Mode, |
+ SkXfermode::kColor_Mode, |
+ SkXfermode::kLuminosity_Mode, |
+ }; |
+ |
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gModes); i++) { |
+ SkAutoTUnref<SkXfermode> mode(SkXfermode::Create(gModes[i])); |
+ REPORTER_ASSERT(reporter, mode.get()); |
+ TestFlattenableSerialization<SkXfermode>(mode.get(), true, reporter); |
+ } |
+} |
+ |
static SkBitmap draw_picture(SkPicture& picture) { |
SkBitmap bitmap; |
bitmap.allocN32Pixels(SkScalarCeilToInt(picture.cullRect().width()), |
@@ -406,6 +448,11 @@ DEF_TEST(Serialization, reporter) { |
TestObjectSerialization(®ion, reporter); |
} |
+ // Test xfermode serialization |
+ { |
+ TestXfermodeSerialization(reporter); |
+ } |
+ |
// Test string serialization |
{ |
SkString string("string"); |