diff options
author | reed <reed@google.com> | 2016-03-04 16:36:20 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-04 16:36:20 -0800 |
commit | f70b531daaf47db1ee95c70da9843f1dd1f418d3 (patch) | |
tree | 85965584497549d7729c301075ff2ec9d1dc2c81 /tests/Writer32Test.cpp | |
parent | e77875aa425d51cc8db3463343a6308f9d2aadcc (diff) |
Move annotations to canvas virtual (patchset #8 id:140001 of https://codereview.chromium.org/1744103002/ )"
Need to land chrome change first https://codereview.chromium.org/1766723003/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1758023003
TBR=
Review URL: https://codereview.chromium.org/1758023003
Diffstat (limited to 'tests/Writer32Test.cpp')
-rw-r--r-- | tests/Writer32Test.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/Writer32Test.cpp b/tests/Writer32Test.cpp index 39ae79cff6..e03a9163aa 100644 --- a/tests/Writer32Test.cpp +++ b/tests/Writer32Test.cpp @@ -278,3 +278,44 @@ DEF_TEST(Writer32_misc, reporter) { test_rewind(reporter); } +DEF_TEST(Writer32_data, reporter) { + const char* str = "0123456789"; + SkAutoTUnref<SkData> data0(SkData::NewWithCString(str)); + SkAutoTUnref<SkData> data1(SkData::NewEmpty()); + + const size_t sizes[] = { + SkWriter32::WriteDataSize(nullptr), + SkWriter32::WriteDataSize(data0), + SkWriter32::WriteDataSize(data1), + }; + + SkSWriter32<1000> writer; + size_t sizeWritten = 0; + + writer.writeData(nullptr); + sizeWritten += sizes[0]; + REPORTER_ASSERT(reporter, sizeWritten == writer.bytesWritten()); + + writer.writeData(data0); + sizeWritten += sizes[1]; + REPORTER_ASSERT(reporter, sizeWritten == writer.bytesWritten()); + + writer.writeData(data1); + sizeWritten += sizes[2]; + REPORTER_ASSERT(reporter, sizeWritten == writer.bytesWritten()); + + SkAutoTUnref<SkData> result(writer.snapshotAsData()); + + SkReader32 reader(result->data(), result->size()); + SkAutoTUnref<SkData> d0(reader.readData()), + d1(reader.readData()), + d2(reader.readData()); + + REPORTER_ASSERT(reporter, 0 == d0->size()); + REPORTER_ASSERT(reporter, strlen(str)+1 == d1->size()); + REPORTER_ASSERT(reporter, !memcmp(str, d1->data(), strlen(str)+1)); + REPORTER_ASSERT(reporter, 0 == d2->size()); + + REPORTER_ASSERT(reporter, reader.offset() == sizeWritten); + REPORTER_ASSERT(reporter, reader.eof()); +} |