use pixmaps for dst in sprites -- NO BITMAPS
BUG=skia:
TBR=scroggo@google.com
Review URL: https://codereview.chromium.org/1143173011
diff --git a/tests/BitmapTest.cpp b/tests/BitmapTest.cpp
index f3d8faa..2567256 100644
--- a/tests/BitmapTest.cpp
+++ b/tests/BitmapTest.cpp
@@ -9,6 +9,31 @@
#include "SkMallocPixelRef.h"
#include "Test.h"
+static void test_peekpixels(skiatest::Reporter* reporter) {
+ const SkImageInfo info = SkImageInfo::MakeN32Premul(10, 10);
+
+ SkPixmap pmap;
+ SkBitmap bm;
+
+ // empty should return false
+ REPORTER_ASSERT(reporter, !bm.peekPixels(NULL));
+ REPORTER_ASSERT(reporter, !bm.peekPixels(&pmap));
+
+ // no pixels should return false
+ bm.setInfo(SkImageInfo::MakeN32Premul(10, 10));
+ REPORTER_ASSERT(reporter, !bm.peekPixels(NULL));
+ REPORTER_ASSERT(reporter, !bm.peekPixels(&pmap));
+
+ // real pixels should return true
+ bm.allocPixels(info);
+ REPORTER_ASSERT(reporter, bm.peekPixels(NULL));
+ REPORTER_ASSERT(reporter, bm.peekPixels(&pmap));
+ REPORTER_ASSERT(reporter, pmap.info() == bm.info());
+ REPORTER_ASSERT(reporter, pmap.addr() == bm.getPixels());
+ REPORTER_ASSERT(reporter, pmap.rowBytes() == bm.rowBytes());
+ REPORTER_ASSERT(reporter, pmap.ctable() == bm.getColorTable());
+}
+
// https://code.google.com/p/chromium/issues/detail?id=446164
static void test_bigalloc(skiatest::Reporter* reporter) {
const int width = 0x40000001;
@@ -95,4 +120,5 @@
test_bigwidth(reporter);
test_allocpixels(reporter);
test_bigalloc(reporter);
+ test_peekpixels(reporter);
}