aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-25 19:50:19 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-25 19:50:19 +0000
commitf4888c4b45b5be3d0614b52ec764b16ea6b4c46d (patch)
tree3903ecb01a9ca7cc1392908d18fee60081b32aec
parenta67573e25faa81ea65e6fc368f66d3f0c0a5f189 (diff)
add simple test for SkBitmap::getColor()
git-svn-id: http://skia.googlecode.com/svn/trunk@859 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--tests/BitmapGetColorTest.cpp36
-rw-r--r--tests/tests_files.mk1
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/BitmapGetColorTest.cpp b/tests/BitmapGetColorTest.cpp
new file mode 100644
index 0000000000..81cf41263b
--- /dev/null
+++ b/tests/BitmapGetColorTest.cpp
@@ -0,0 +1,36 @@
+#include "Test.h"
+#include "SkBitmap.h"
+
+static void TestGetColor(skiatest::Reporter* reporter) {
+ static const struct Rec {
+ SkBitmap::Config fConfig;
+ SkColor fInColor;
+ SkColor fOutColor;
+ } gRec[] = {
+ // todo: add some tests that involve alpha, so we exercise the
+ // unpremultiply aspect of getColor()
+ { SkBitmap::kA8_Config, 0xFF000000, 0xFF000000 },
+ { SkBitmap::kA8_Config, 0, 0 },
+ { SkBitmap::kARGB_4444_Config, 0xFF224466, 0xFF224466 },
+ { SkBitmap::kARGB_4444_Config, 0, 0 },
+ { SkBitmap::kRGB_565_Config, 0xFF00FF00, 0xFF00FF00 },
+ { SkBitmap::kRGB_565_Config, 0xFFFF00FF, 0xFFFF00FF },
+ { SkBitmap::kARGB_8888_Config, 0xFFFFFFFF, 0xFFFFFFFF },
+ { SkBitmap::kARGB_8888_Config, 0, 0 },
+ { SkBitmap::kARGB_8888_Config, 0xFF224466, 0xFF224466 },
+ };
+
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gRec); i++) {
+ SkBitmap bm;
+ uint32_t storage[1];
+ bm.setConfig(gRec[i].fConfig, 1, 1);
+ bm.setPixels(storage);
+ bm.eraseColor(gRec[i].fInColor);
+
+ SkColor c = bm.getColor(0, 0);
+ REPORTER_ASSERT(reporter, c == gRec[i].fOutColor);
+ }
+}
+
+#include "TestClassDef.h"
+DEFINE_TESTCLASS("GetColor", TestGetColorClass, TestGetColor)
diff --git a/tests/tests_files.mk b/tests/tests_files.mk
index 6dad0af306..5280502e97 100644
--- a/tests/tests_files.mk
+++ b/tests/tests_files.mk
@@ -1,5 +1,6 @@
SOURCE := \
BitmapCopyTest.cpp \
+ BitmapGetColorTest.cpp \
BlitRowTest.cpp \
ClipCubicTest.cpp \
ClipStackTest.cpp \