| Index: tests/Writer32Test.cpp
|
| diff --git a/tests/Writer32Test.cpp b/tests/Writer32Test.cpp
|
| index e5b93634ac743447b22fdb7f155573809d5a49d6..6ecfcf3edadd87c32b0edcce0ce128de0c1756e7 100644
|
| --- a/tests/Writer32Test.cpp
|
| +++ b/tests/Writer32Test.cpp
|
| @@ -21,6 +21,34 @@ static void check_contents(skiatest::Reporter* reporter, const SkWriter32& write
|
| REPORTER_ASSERT(reporter, !memcmp(storage.get(), expected, size));
|
| }
|
|
|
| +static void test_string_null(skiatest::Reporter* reporter) {
|
| + uint8_t storage[8];
|
| + SkWriter32 writer(0, storage, sizeof(storage));
|
| + SkReader32 reader(storage, sizeof(storage));
|
| +
|
| + const char* str;
|
| + size_t len;
|
| +
|
| + // Can we write NULL?
|
| + writer.writeString(NULL);
|
| + const int32_t null[] = { 0xFFFF };
|
| + check_contents(reporter, writer, null, sizeof(null));
|
| + str = reader.readString(&len);
|
| + REPORTER_ASSERT(reporter, NULL == str);
|
| + REPORTER_ASSERT(reporter, 0 == len);
|
| +
|
| + writer.reset(storage, sizeof(storage));
|
| + reader.rewind();
|
| +
|
| + // Is NULL distinct from ""?
|
| + writer.writeString("");
|
| + const int32_t empty[] = { 0x0, 0x0 };
|
| + check_contents(reporter, writer, empty, sizeof(empty));
|
| + str = reader.readString(&len);
|
| + REPORTER_ASSERT(reporter, 0 == strcmp("", str));
|
| + REPORTER_ASSERT(reporter, 0 == len);
|
| +}
|
| +
|
| static void test_rewind(skiatest::Reporter* reporter) {
|
| SkSWriter32<32> writer(32);
|
| int32_t array[3] = { 1, 2, 4 };
|
| @@ -228,6 +256,7 @@ static void Tests(skiatest::Reporter* reporter) {
|
| testWritePad(reporter, &writer);
|
| }
|
|
|
| + test_string_null(reporter);
|
| test_ptr(reporter);
|
| test_rewind(reporter);
|
| }
|
|
|