aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-17 02:27:26 +0000
committerGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-17 02:27:26 +0000
commit3565f0fd25afad52b4a9dbb808d877e957475c6c (patch)
treee78f20174c0cdd9c3e943f46d1e5173c2f4e62e1
parente303fcf68d6fee2bf9ee0c4f6fb330a2c3e41a01 (diff)
add test for IsMode
git-svn-id: http://skia.googlecode.com/svn/trunk@2704 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--tests/XfermodeTest.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/XfermodeTest.cpp b/tests/XfermodeTest.cpp
index e4e7685752..966da5190e 100644
--- a/tests/XfermodeTest.cpp
+++ b/tests/XfermodeTest.cpp
@@ -46,5 +46,27 @@ static void test_asMode(skiatest::Reporter* reporter) {
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)