diff options
author | reed <reed@google.com> | 2016-09-12 12:01:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-12 12:01:44 -0700 |
commit | 42943c8aa9c611c18ad0f1a30a27669f3d82239c (patch) | |
tree | deff0bbc59dd92559191c188d73f97b4f9c580aa /tests | |
parent | 09524ae42998ece3a8e7973064ab286646511b31 (diff) |
change SkStreams to work with sk_sp<SkData> instead of SkData*
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333713002
Review-Url: https://codereview.chromium.org/2333713002
Diffstat (limited to 'tests')
-rw-r--r-- | tests/AnnotationTest.cpp | 4 | ||||
-rw-r--r-- | tests/CachedDecodingPixelRefTest.cpp | 7 | ||||
-rw-r--r-- | tests/CodecPriv.h | 4 | ||||
-rw-r--r-- | tests/CodecTest.cpp | 19 | ||||
-rw-r--r-- | tests/PDFDocumentTest.cpp | 7 | ||||
-rw-r--r-- | tests/PDFGlyphsToUnicodeTest.cpp | 2 | ||||
-rw-r--r-- | tests/PDFJpegEmbedTest.cpp | 6 | ||||
-rw-r--r-- | tests/PDFMetadataAttributeTest.cpp | 2 | ||||
-rw-r--r-- | tests/PDFPrimitivesTest.cpp | 2 | ||||
-rw-r--r-- | tests/PathTest.cpp | 2 | ||||
-rw-r--r-- | tests/PictureTest.cpp | 4 | ||||
-rw-r--r-- | tests/StreamTest.cpp | 14 | ||||
-rw-r--r-- | tests/TypefaceTest.cpp | 9 |
13 files changed, 36 insertions, 46 deletions
diff --git a/tests/AnnotationTest.cpp b/tests/AnnotationTest.cpp index a4109c5e54..0a9dfeac18 100644 --- a/tests/AnnotationTest.cpp +++ b/tests/AnnotationTest.cpp @@ -51,7 +51,7 @@ DEF_TEST(Annotation_PdfLink, reporter) { SkAnnotateRectWithURL(canvas, r, data.get()); REPORTER_ASSERT(reporter, doc->close()); - sk_sp<SkData> out(outStream.copyToData()); + sk_sp<SkData> out = outStream.detachAsData(); const char* rawOutput = (const char*)out->data(); REPORTER_ASSERT(reporter, ContainsString(rawOutput, out->size(), "/Annots ")); @@ -69,7 +69,7 @@ DEF_TEST(Annotation_NamedDestination, reporter) { SkAnnotateNamedDestination(canvas, p, data.get()); REPORTER_ASSERT(reporter, doc->close()); - sk_sp<SkData> out(outStream.copyToData()); + sk_sp<SkData> out = outStream.detachAsData(); const char* rawOutput = (const char*)out->data(); REPORTER_ASSERT(reporter, diff --git a/tests/CachedDecodingPixelRefTest.cpp b/tests/CachedDecodingPixelRefTest.cpp index 1c89895d0b..b6253c73a2 100644 --- a/tests/CachedDecodingPixelRefTest.cpp +++ b/tests/CachedDecodingPixelRefTest.cpp @@ -38,11 +38,10 @@ static void make_test_image(SkBitmap* bm) { /** * encode this bitmap into some data via SkImageEncoder */ -static SkData* create_data_from_bitmap(const SkBitmap& bm, - SkImageEncoder::Type type) { +static sk_sp<SkData> create_data_from_bitmap(const SkBitmap& bm, SkImageEncoder::Type type) { SkDynamicMemoryWStream stream; if (SkImageEncoder::EncodeStream(&stream, bm, type, 100)) { - return stream.copyToData(); + return stream.detachAsData(); } return nullptr; } @@ -107,7 +106,7 @@ static void test_three_encodings(skiatest::Reporter* reporter, }; for (size_t i = 0; i < SK_ARRAY_COUNT(types); i++) { SkImageEncoder::Type type = types[i]; - sk_sp<SkData> encoded(create_data_from_bitmap(original, type)); + sk_sp<SkData> encoded = create_data_from_bitmap(original, type); REPORTER_ASSERT(reporter, encoded.get() != nullptr); if (nullptr == encoded.get()) { continue; diff --git a/tests/CodecPriv.h b/tests/CodecPriv.h index 4e42731b01..a5afb09ba4 100644 --- a/tests/CodecPriv.h +++ b/tests/CodecPriv.h @@ -10,9 +10,7 @@ #include "SkData.h" inline bool decode_memory(const void* mem, size_t size, SkBitmap* bm) { - sk_sp<SkData> data(SkData::MakeWithoutCopy(mem, size)); - - SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data.get())); + SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(SkData::MakeWithoutCopy(mem, size))); if (!codec) { return false; } diff --git a/tests/CodecTest.cpp b/tests/CodecTest.cpp index b01750d410..348bc64739 100644 --- a/tests/CodecTest.cpp +++ b/tests/CodecTest.cpp @@ -210,7 +210,7 @@ static void check(skiatest::Reporter* r, if (isIncomplete) { size_t size = stream->getLength(); sk_sp<SkData> data((SkData::MakeFromStream(stream, 2 * size / 3))); - codec.reset(SkCodec::NewFromData(data.get())); + codec.reset(SkCodec::NewFromData(data)); } else { codec.reset(SkCodec::NewFromStream(stream.release())); } @@ -339,7 +339,7 @@ static void check(skiatest::Reporter* r, if (isIncomplete) { size_t size = stream->getLength(); sk_sp<SkData> data((SkData::MakeFromStream(stream, 2 * size / 3))); - androidCodec.reset(SkAndroidCodec::NewFromData(data.get())); + androidCodec.reset(SkAndroidCodec::NewFromData(data)); } else { androidCodec.reset(SkAndroidCodec::NewFromStream(stream.release())); } @@ -824,8 +824,7 @@ DEF_TEST(Codec_pngChunkReader, r) { ChunkReader chunkReader(r); // Now read the file with SkCodec. - sk_sp<SkData> data(wStream.copyToData()); - SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data.get(), &chunkReader)); + SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(wStream.detachAsData(), &chunkReader)); REPORTER_ASSERT(r, codec); if (!codec) { return; @@ -865,8 +864,8 @@ DEF_TEST(Codec_pngChunkReader, r) { // Stream that can only peek up to a limit class LimitedPeekingMemStream : public SkStream { public: - LimitedPeekingMemStream(SkData* data, size_t limit) - : fStream(data) + LimitedPeekingMemStream(sk_sp<SkData> data, size_t limit) + : fStream(std::move(data)) , fLimit(limit) {} size_t peek(void* buf, size_t bytes) const override { @@ -948,13 +947,13 @@ DEF_TEST(Codec_webp_peek, r) { // The limit is less than webp needs to peek or read. SkAutoTDelete<SkCodec> codec(SkCodec::NewFromStream( - new LimitedPeekingMemStream(data.get(), 25))); + new LimitedPeekingMemStream(data, 25))); REPORTER_ASSERT(r, codec); test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr); // Similarly, a stream which does not peek should still succeed. - codec.reset(SkCodec::NewFromStream(new LimitedPeekingMemStream(data.get(), 0))); + codec.reset(SkCodec::NewFromStream(new LimitedPeekingMemStream(data, 0))); REPORTER_ASSERT(r, codec); test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr); @@ -978,7 +977,7 @@ DEF_TEST(Codec_wbmp, r) { writeableData[1] = static_cast<uint8_t>(~0x9F); // SkCodec should support this. - SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data.get())); + SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data)); REPORTER_ASSERT(r, codec); if (!codec) { return; @@ -1083,7 +1082,7 @@ static void check_round_trip(skiatest::Reporter* r, const SkBitmap& bm1) { sk_sp<SkData>(SkImageEncoder::EncodeData(bm1, SkImageEncoder::kPNG_Type, 100)); // Prepare to decode. The codec should recognize that the PNG is 565. - SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data.get())); + SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(data)); REPORTER_ASSERT(r, origColorType == codec->getInfo().colorType()); REPORTER_ASSERT(r, origAlphaType == codec->getInfo().alphaType()); diff --git a/tests/PDFDocumentTest.cpp b/tests/PDFDocumentTest.cpp index c871375117..afc05e49b8 100644 --- a/tests/PDFDocumentTest.cpp +++ b/tests/PDFDocumentTest.cpp @@ -193,8 +193,8 @@ DEF_TEST(SkPDF_pdfa_document, r) { pdfMetadata, nullptr, /* pdfa = */ true); doc->beginPage(64, 64)->drawColor(SK_ColorRED); doc->close(); - sk_sp<SkData> data(buffer.copyToData()); - buffer.reset(); + sk_sp<SkData> data(buffer.detachAsData()); + static const char* expectations[] = { "sRGB IEC61966-2.1", "<dc:title><rdf:Alt><rdf:li xml:lang=\"x-default\">test document", @@ -212,8 +212,7 @@ DEF_TEST(SkPDF_pdfa_document, r) { pdfMetadata, nullptr, /* pdfa = */ true); doc->beginPage(64, 64)->drawColor(SK_ColorRED); doc->close(); - data.reset(buffer.copyToData()); - buffer.reset(); + data = buffer.detachAsData(); static const char* moreExpectations[] = { "/Producer (phoney library)", diff --git a/tests/PDFGlyphsToUnicodeTest.cpp b/tests/PDFGlyphsToUnicodeTest.cpp index f65ee3e3c7..b3ee2d86f2 100644 --- a/tests/PDFGlyphsToUnicodeTest.cpp +++ b/tests/PDFGlyphsToUnicodeTest.cpp @@ -15,7 +15,7 @@ static const int kMaximumGlyphCount = SK_MaxU16 + 1; static bool stream_equals(const SkDynamicMemoryWStream& stream, size_t offset, const char* buffer, size_t len) { - sk_sp<SkData> data(stream.copyToData()); + sk_sp<SkData> data = stream.snapshotAsData(); if (offset + len > data->size()) { return false; } diff --git a/tests/PDFJpegEmbedTest.cpp b/tests/PDFJpegEmbedTest.cpp index 93c204401d..2e75c3998a 100644 --- a/tests/PDFJpegEmbedTest.cpp +++ b/tests/PDFJpegEmbedTest.cpp @@ -78,9 +78,8 @@ DEF_TEST(SkPDF_JpegEmbedTest, r) { canvas->flush(); document->endPage(); document->close(); - sk_sp<SkData> pdfData(pdf.copyToData()); + sk_sp<SkData> pdfData(pdf.detachAsData()); SkASSERT(pdfData); - pdf.reset(); REPORTER_ASSERT(r, is_subset_of(mandrillData.get(), pdfData.get())); @@ -102,9 +101,8 @@ DEF_TEST(SkPDF_JpegEmbedTest, r) { canvas->flush(); document->endPage(); document->close(); - pdfData.reset(pdf.copyToData()); + pdfData = pdf.detachAsData(); SkASSERT(pdfData); - pdf.reset(); REPORTER_ASSERT(r, is_subset_of(mandrillData.get(), pdfData.get())); diff --git a/tests/PDFMetadataAttributeTest.cpp b/tests/PDFMetadataAttributeTest.cpp index 6e7cc248d3..01351faec3 100644 --- a/tests/PDFMetadataAttributeTest.cpp +++ b/tests/PDFMetadataAttributeTest.cpp @@ -29,7 +29,7 @@ DEF_TEST(SkPDF_Metadata, r) { metadata, nullptr, false); doc->beginPage(612.0f, 792.0f); doc->close(); - sk_sp<SkData> data(pdf.copyToData()); + sk_sp<SkData> data = pdf.detachAsData(); static const char* expectations[] = { "/Title (A1)", "/Author (A2)", diff --git a/tests/PDFPrimitivesTest.cpp b/tests/PDFPrimitivesTest.cpp index c719f488d2..2d9468e7aa 100644 --- a/tests/PDFPrimitivesTest.cpp +++ b/tests/PDFPrimitivesTest.cpp @@ -106,7 +106,7 @@ static void TestPDFStream(skiatest::Reporter* reporter) { compressedByteStream.writeToStream(&expected); compressedByteStream.reset(); expected.writeText("\nendstream"); - sk_sp<SkData> expectedResultData2(expected.copyToData()); + sk_sp<SkData> expectedResultData2(expected.detachAsData()); SkString result = emit_to_string(*stream); #ifndef SK_PDF_LESS_COMPRESSION assert_eql(reporter, diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp index 032b646d4e..483d14ec48 100644 --- a/tests/PathTest.cpp +++ b/tests/PathTest.cpp @@ -4083,7 +4083,7 @@ static void compare_dump(skiatest::Reporter* reporter, const SkPath& path, bool bool dumpAsHex, const char* str) { SkDynamicMemoryWStream wStream; path.dump(&wStream, force, dumpAsHex); - sk_sp<SkData> data(wStream.copyToData()); + sk_sp<SkData> data = wStream.detachAsData(); REPORTER_ASSERT(reporter, data->size() == strlen(str)); if (strlen(str) > 0) { REPORTER_ASSERT(reporter, !memcmp(data->data(), str, strlen(str))); diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp index 7b187b4409..6ab57c04d7 100644 --- a/tests/PictureTest.cpp +++ b/tests/PictureTest.cpp @@ -632,7 +632,7 @@ static sk_sp<SkData> serialized_picture_from_bitmap(const SkBitmap& bitmap) { SkAutoTUnref<SkPixelSerializer> serializer( SkImageEncoder::CreatePixelSerializer()); picture->serialize(&wStream, serializer); - return sk_sp<SkData>(wStream.copyToData()); + return wStream.detachAsData(); } struct ErrorContext { @@ -670,7 +670,7 @@ DEF_TEST(Picture_EncodedData, reporter) { if (!SkImageEncoder::EncodeStream(&wStream, original, SkImageEncoder::kPNG_Type, 100)) { return; } - sk_sp<SkData> data(wStream.copyToData()); + sk_sp<SkData> data = wStream.detachAsData(); SkBitmap bm; bool installSuccess = SkDEPRECATED_InstallDiscardablePixelRef(data.get(), &bm); diff --git a/tests/StreamTest.cpp b/tests/StreamTest.cpp index 56977822b9..74e60557d1 100644 --- a/tests/StreamTest.cpp +++ b/tests/StreamTest.cpp @@ -117,13 +117,13 @@ static void TestWStream(skiatest::Reporter* reporter) { REPORTER_ASSERT(reporter, ds.getOffset() == 100 * 26); { - sk_sp<SkData> data(ds.copyToData()); + sk_sp<SkData> data = ds.snapshotAsData(); REPORTER_ASSERT(reporter, 100 * 26 == data->size()); REPORTER_ASSERT(reporter, memcmp(dst, data->data(), data->size()) == 0); } { - // Test that this works after a copyToData. + // Test that this works after a snapshot. SkAutoTDelete<SkStreamAsset> stream(ds.detachAsStream()); REPORTER_ASSERT(reporter, ds.getOffset() == 0); test_loop_stream(reporter, stream.get(), s, 26, 100); @@ -174,15 +174,14 @@ static void TestPackedUInt(skiatest::Reporter* reporter) { static void TestDereferencingData(SkMemoryStream* memStream) { memStream->read(nullptr, 0); memStream->getMemoryBase(); - sk_sp<SkData> data(memStream->copyToData()); + (void)memStream->asData(); } static void TestNullData() { - SkData* nullData = nullptr; - SkMemoryStream memStream(nullData); + SkMemoryStream memStream(nullptr); TestDereferencingData(&memStream); - memStream.setData(nullData); + memStream.setData(nullptr); TestDereferencingData(&memStream); } @@ -404,8 +403,7 @@ static void stream_copy_test(skiatest::Reporter* reporter, ERRORF(reporter, "SkStreamCopy failed"); return; } - sk_sp<SkData> data(tgt.copyToData()); - tgt.reset(); + sk_sp<SkData> data(tgt.detachAsData()); if (data->size() != N) { ERRORF(reporter, "SkStreamCopy incorrect size"); return; diff --git a/tests/TypefaceTest.cpp b/tests/TypefaceTest.cpp index 6f803ce11f..436f129a63 100644 --- a/tests/TypefaceTest.cpp +++ b/tests/TypefaceTest.cpp @@ -21,12 +21,11 @@ static void TypefaceStyle_test(skiatest::Reporter* reporter, uint16_t weight, uint16_t width, SkData* data) { sk_sp<SkData> dataCopy; - SkData* dataToUse = data; - if (!dataToUse->unique()) { + if (!data->unique()) { dataCopy = SkData::MakeWithCopy(data->data(), data->size()); - dataToUse = dataCopy.get(); + data = dataCopy.get(); } - SkSFNTHeader* sfntHeader = static_cast<SkSFNTHeader*>(dataToUse->writable_data()); + SkSFNTHeader* sfntHeader = static_cast<SkSFNTHeader*>(data->writable_data()); SkSFNTHeader::TableDirectoryEntry* tableEntry = SkTAfter<SkSFNTHeader::TableDirectoryEntry>(sfntHeader); @@ -46,7 +45,7 @@ static void TypefaceStyle_test(skiatest::Reporter* reporter, using WidthType = SkOTTableOS2_V0::WidthClass::Value; os2Table->usWidthClass.value = static_cast<WidthType>(SkEndian_SwapBE16(width)); - sk_sp<SkTypeface> newTypeface(SkTypeface::MakeFromStream(new SkMemoryStream(dataToUse))); + sk_sp<SkTypeface> newTypeface(SkTypeface::MakeFromStream(new SkMemoryStream(sk_ref_sp(data)))); SkASSERT_RELEASE(newTypeface); SkFontStyle newStyle = newTypeface->fontStyle(); |