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)