| Index: tests/BitmapTest.cpp
|
| diff --git a/tests/BitmapTest.cpp b/tests/BitmapTest.cpp
|
| index 250b6da32c2aa748db19d8996a6dfc3d2384ec06..aaa297e674570d2007149c8e805565897c6f4f21 100644
|
| --- a/tests/BitmapTest.cpp
|
| +++ b/tests/BitmapTest.cpp
|
| @@ -10,6 +10,22 @@
|
| #include "Test.h"
|
| #include "TestClassDef.h"
|
|
|
| +static void test_bigwidth(skiatest::Reporter* reporter) {
|
| + SkBitmap bm;
|
| + int width = 1 << 29; // *4 will be the high-bit of 32bit int
|
| +
|
| + REPORTER_ASSERT(reporter, bm.setConfig(SkBitmap::kA8_Config, width, 1));
|
| + REPORTER_ASSERT(reporter, bm.setConfig(SkBitmap::kRGB_565_Config, width, 1));
|
| +
|
| + // for a 4-byte config, this width will compute a rowbytes of 0x80000000,
|
| + // which does not fit in a int32_t. setConfig should detect this, and fail.
|
| +
|
| + // TODO: perhaps skia can relax this, and only require that rowBytes fit
|
| + // in a uint32_t (or larger), but for now this is the constraint.
|
| +
|
| + REPORTER_ASSERT(reporter, !bm.setConfig(SkBitmap::kARGB_8888_Config, width, 1));
|
| +}
|
| +
|
| /**
|
| * This test contains basic sanity checks concerning bitmaps.
|
| */
|
| @@ -27,4 +43,6 @@ DEF_TEST(Bitmap, reporter) {
|
| REPORTER_ASSERT(reporter, SkToBool(width & height) != bm.empty());
|
| }
|
| }
|
| +
|
| + test_bigwidth(reporter);
|
| }
|
|
|