| Index: tests/BitmapTest.cpp
|
| diff --git a/tests/BitmapTest.cpp b/tests/BitmapTest.cpp
|
| index f3d8faa967c7ae99c311e63cf4e3d5f73cc260de..256725666781bea5797e5adbc9800b8e504312a7 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 @@ DEF_TEST(Bitmap, reporter) {
|
| test_bigwidth(reporter);
|
| test_allocpixels(reporter);
|
| test_bigalloc(reporter);
|
| + test_peekpixels(reporter);
|
| }
|
|
|