add test for IsMode
git-svn-id: http://skia.googlecode.com/svn/trunk@2704 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/XfermodeTest.cpp b/tests/XfermodeTest.cpp
index e4e7685..966da51 100644
--- a/tests/XfermodeTest.cpp
+++ b/tests/XfermodeTest.cpp
@@ -46,5 +46,27 @@
bogusXfer->unref();
}
+static void test_IsMode(skiatest::Reporter* reporter) {
+ REPORTER_ASSERT(reporter, SkXfermode::IsMode(NULL,
+ SkXfermode::kSrcOver_Mode));
+
+ for (int i = 0; i <= SkXfermode::kLastMode; ++i) {
+ SkXfermode::Mode mode = (SkXfermode::Mode)i;
+
+ SkXfermode* xfer = SkXfermode::Create(mode);
+ REPORTER_ASSERT(reporter, SkXfermode::IsMode(xfer, mode));
+ SkSafeUnref(xfer);
+
+ if (SkXfermode::kSrcOver_Mode != mode) {
+ REPORTER_ASSERT(reporter, !SkXfermode::IsMode(NULL, mode));
+ }
+ }
+}
+
+static void test_xfermodes(skiatest::Reporter* reporter) {
+ test_asMode(reporter);
+ test_IsMode(reporter);
+}
+
#include "TestClassDef.h"
-DEFINE_TESTCLASS("Xfermode", XfermodeTestClass, test_asMode)
+DEFINE_TESTCLASS("Xfermode", XfermodeTestClass, test_xfermodes)