Chromium Code Reviews| Index: tests/SerializationTest.cpp |
| diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp |
| index e7bb437030264626668d8595f5c1430a739c24af..e50cf41353ee0b401cfc716ca019e5b9c48afcff 100644 |
| --- a/tests/SerializationTest.cpp |
| +++ b/tests/SerializationTest.cpp |
| @@ -148,6 +148,7 @@ static T* TestFlattenableSerialization(T* testObj, bool shouldSucceed, |
| REPORTER_ASSERT(reporter, SkAlign4(bytesWritten) == bytesWritten); |
| unsigned char dataWritten[1024]; |
| + SkASSERT(bytesWritten <= sizeof(dataWritten)); |
| writer.writeToMemory(dataWritten); |
| // Make sure this fails when it should (test with smaller size, but still multiple of 4) |
| @@ -307,10 +308,21 @@ static void Tests(skiatest::Reporter* reporter) { |
| TestBitmapSerialization(validBitmap, invalidBitmap, true, reporter); |
| // Create a bitmap with a pixel ref too small |
| + SkImageInfo info; |
| + info.fWidth = 256; |
| + info.fHeight = 256; |
| + info.fColorType = kPMColor_SkColorType; |
| + info.fAlphaType = kPremul_SkAlphaType; |
| + |
| SkBitmap invalidBitmap2; |
| - invalidBitmap2.setConfig(SkBitmap::kARGB_8888_Config, 256, 256); |
| - invalidBitmap2.setPixelRef(SkNEW_ARGS(SkMallocPixelRef, |
| - (NULL, 256, NULL)))->unref(); |
| + invalidBitmap2.setConfig(info); |
| + |
| + // Hack to force invalid |
| + info.fWidth = 32; |
|
scroggo
2013/12/06 14:50:33
Is the hack that the SkMallocPixelRef's SkImageInf
reed1
2013/12/06 15:48:46
The hack is that the bitmap is LARGER than the pix
|
| + info.fHeight = 1; |
| + |
| + invalidBitmap2.setPixelRef(SkMallocPixelRef::NewAllocate( |
| + info, invalidBitmap2.rowBytes(), NULL))->unref(); |
| // The deserialization should detect the pixel ref being too small and fail |
| TestBitmapSerialization(validBitmap, invalidBitmap2, false, reporter); |