diff options
author | 2014-09-25 15:51:35 -0700 | |
---|---|---|
committer | 2014-09-25 15:51:35 -0700 | |
commit | 91c395af69cf10cd13062f143811a7a9a3ce03c7 (patch) | |
tree | 3c3b17799a49adcca859bc450f630dff5bf57957 /tests | |
parent | d52893cfc8c3fb1187c04c66f6beda66e1bb0b2c (diff) |
Fix SkTableColorFilter deserialization validation.
Broken in https://skia.googlesource.com/skia/+/9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187.
R=reed@google.com
TBR=reed@google.com
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/604873004
Diffstat (limited to 'tests')
-rw-r--r-- | tests/SerializationTest.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp index af146006e7..dd9b938d52 100644 --- a/tests/SerializationTest.cpp +++ b/tests/SerializationTest.cpp @@ -11,6 +11,7 @@ #include "SkMallocPixelRef.h" #include "SkOSFile.h" #include "SkPictureRecorder.h" +#include "SkTableColorFilter.h" #include "SkTemplates.h" #include "SkTypeface.h" #include "SkWriteBuffer.h" @@ -177,7 +178,7 @@ static T* TestFlattenableSerialization(T* testObj, bool shouldSucceed, size_t bytesWritten = writer.bytesWritten(); REPORTER_ASSERT(reporter, SkAlign4(bytesWritten) == bytesWritten); - unsigned char dataWritten[1024]; + unsigned char dataWritten[4096]; SkASSERT(bytesWritten <= sizeof(dataWritten)); writer.writeToMemory(dataWritten); @@ -274,6 +275,16 @@ static void TestXfermodeSerialization(skiatest::Reporter* reporter) { } } +static void TestColorFilterSerialization(skiatest::Reporter* reporter) { + uint8_t table[256]; + for (int i = 0; i < 256; ++i) { + table[i] = (i * 41) % 256; + } + SkAutoTUnref<SkColorFilter> colorFilter(SkTableColorFilter::Create(table)); + SkAutoTUnref<SkColorFilter> copy( + TestFlattenableSerialization<SkColorFilter>(colorFilter.get(), true, reporter)); +} + static SkBitmap draw_picture(SkPicture& picture) { SkBitmap bitmap; bitmap.allocN32Pixels(SkScalarCeilToInt(picture.cullRect().width()), @@ -424,6 +435,11 @@ DEF_TEST(Serialization, reporter) { TestXfermodeSerialization(reporter); } + // Test color filter serialization + { + TestColorFilterSerialization(reporter); + } + // Test string serialization { SkString string("string"); |