diff options
author | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-11-17 02:27:26 +0000 |
---|---|---|
committer | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-11-17 02:27:26 +0000 |
commit | 3565f0fd25afad52b4a9dbb808d877e957475c6c (patch) | |
tree | e78f20174c0cdd9c3e943f46d1e5173c2f4e62e1 | |
parent | e303fcf68d6fee2bf9ee0c4f6fb330a2c3e41a01 (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.cpp | 24 |
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) |