diff options
author | Mike Reed <reed@google.com> | 2017-09-15 11:37:15 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-15 18:46:45 +0000 |
commit | 49f1f34438d3431f6d7e32847accd2ba96948a73 (patch) | |
tree | c4e0342c3350c546573fb2add99597e92c9ca66c /tests | |
parent | 226e2032e8e37068a409aeb37aac79608fbd315d (diff) |
use unique_ptr for stream api
Bug: skia:6888
Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
Reviewed-on: https://skia-review.googlesource.com/26740
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CodecTest.cpp | 6 | ||||
-rw-r--r-- | tests/FrontBufferedStreamTest.cpp | 26 | ||||
-rw-r--r-- | tests/StreamTest.cpp | 8 |
3 files changed, 25 insertions, 15 deletions
diff --git a/tests/CodecTest.cpp b/tests/CodecTest.cpp index baa231497f..f2551d2d95 100644 --- a/tests/CodecTest.cpp +++ b/tests/CodecTest.cpp @@ -442,10 +442,10 @@ static void check(skiatest::Reporter* r, #ifndef SK_PNG_DISABLE_TESTS // Test using SkFrontBufferedStream, as Android does - SkStream* bufferedStream = SkFrontBufferedStream::Create( - new SkMemoryStream(std::move(fullData)), SkCodec::MinBufferedBytesNeeded()); + auto bufferedStream = SkFrontBufferedStream::Make( + SkMemoryStream::Make(std::move(fullData)), SkCodec::MinBufferedBytesNeeded()); REPORTER_ASSERT(r, bufferedStream); - codec = SkCodec::MakeFromStream(std::unique_ptr<SkStream>(bufferedStream)); + codec = SkCodec::MakeFromStream(std::move(bufferedStream)); REPORTER_ASSERT(r, codec); if (codec) { test_info(r, codec.get(), info, SkCodec::kSuccess, &codecDigest); diff --git a/tests/FrontBufferedStreamTest.cpp b/tests/FrontBufferedStreamTest.cpp index aa2dc89a11..5452730ea4 100644 --- a/tests/FrontBufferedStreamTest.cpp +++ b/tests/FrontBufferedStreamTest.cpp @@ -54,9 +54,10 @@ static void test_incremental_buffering(skiatest::Reporter* reporter, size_t buff // NOTE: For this and other tests in this file, we cheat and continue to refer to the // wrapped stream, but that's okay because we know the wrapping stream has not been // deleted yet (and we only call const methods in it). - SkMemoryStream* memStream = new SkMemoryStream(gAbcs, strlen(gAbcs), false); + SkMemoryStream* memStream = SkMemoryStream::MakeDirect(gAbcs, strlen(gAbcs)).release(); - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(memStream, bufferSize)); + auto bufferedStream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(memStream), + bufferSize); test_hasLength(reporter, *bufferedStream, *memStream); // First, test reading less than the max buffer size. @@ -82,8 +83,9 @@ static void test_incremental_buffering(skiatest::Reporter* reporter, size_t buff } static void test_perfectly_sized_buffer(skiatest::Reporter* reporter, size_t bufferSize) { - SkMemoryStream* memStream = new SkMemoryStream(gAbcs, strlen(gAbcs), false); - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(memStream, bufferSize)); + SkMemoryStream* memStream = SkMemoryStream::MakeDirect(gAbcs, strlen(gAbcs)).release(); + auto bufferedStream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(memStream), + bufferSize); test_hasLength(reporter, *bufferedStream, *memStream); // Read exactly the amount that fits in the buffer. @@ -101,8 +103,9 @@ static void test_perfectly_sized_buffer(skiatest::Reporter* reporter, size_t buf } static void test_skipping(skiatest::Reporter* reporter, size_t bufferSize) { - SkMemoryStream* memStream = new SkMemoryStream(gAbcs, strlen(gAbcs), false); - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(memStream, bufferSize)); + SkMemoryStream* memStream = SkMemoryStream::MakeDirect(gAbcs, strlen(gAbcs)).release(); + auto bufferedStream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(memStream), + bufferSize); test_hasLength(reporter, *bufferedStream, *memStream); // Skip half the buffer. @@ -156,7 +159,8 @@ static void test_read_beyond_buffer(skiatest::Reporter* reporter, size_t bufferS new AndroidLikeMemoryStream((void*)gAbcs, bufferSize, false); // Create a buffer that matches the length of the stream. - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(memStream, bufferSize)); + auto bufferedStream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(memStream), + bufferSize); test_hasLength(reporter, *bufferedStream.get(), *memStream); // Attempt to read one more than the bufferSize @@ -203,7 +207,8 @@ static void test_length_combos(skiatest::Reporter* reporter, size_t bufferSize) for (int hasPos = 0; hasPos <= 1; hasPos++) { LengthOptionalStream* stream = new LengthOptionalStream(SkToBool(hasLen), SkToBool(hasPos)); - std::unique_ptr<SkStream> buffered(SkFrontBufferedStream::Create(stream, bufferSize)); + auto buffered = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(stream), + bufferSize); test_hasLength(reporter, *buffered.get(), *stream); } } @@ -217,7 +222,8 @@ static void test_initial_offset(skiatest::Reporter* reporter, size_t bufferSize) // the stream it wraps. const size_t arbitraryOffset = 17; memStream->skip(arbitraryOffset); - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(memStream, bufferSize)); + auto bufferedStream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(memStream), + bufferSize); // Since SkMemoryStream has a length, bufferedStream must also. REPORTER_ASSERT(reporter, bufferedStream->hasLength()); @@ -281,7 +287,7 @@ private: DEF_TEST(ShortFrontBufferedStream, reporter) { FailingStream* failingStream = new FailingStream; - std::unique_ptr<SkStreamRewindable> stream(SkFrontBufferedStream::Create(failingStream, 64)); + auto stream = SkFrontBufferedStream::Make(std::unique_ptr<SkStream>(failingStream), 64); // This will fail to create a codec. However, what we really want to test is that we // won't read past the end of the stream. diff --git a/tests/StreamTest.cpp b/tests/StreamTest.cpp index 8b5b2ae05a..2e8078e337 100644 --- a/tests/StreamTest.cpp +++ b/tests/StreamTest.cpp @@ -227,9 +227,9 @@ static void test_fully_peekable_stream(skiatest::Reporter* r, SkStream* stream, static void test_peeking_front_buffered_stream(skiatest::Reporter* r, const SkStream& original, size_t bufferSize) { - SkStream* dupe = original.duplicate(); + std::unique_ptr<SkStream> dupe(original.duplicate()); REPORTER_ASSERT(r, dupe != nullptr); - std::unique_ptr<SkStream> bufferedStream(SkFrontBufferedStream::Create(dupe, bufferSize)); + auto bufferedStream = SkFrontBufferedStream::Make(std::move(dupe), bufferSize); REPORTER_ASSERT(r, bufferedStream != nullptr); size_t peeked = 0; @@ -249,7 +249,11 @@ static void test_peeking_front_buffered_stream(skiatest::Reporter* r, } // Test that attempting to peek beyond the length of the buffer does not prevent rewinding. +#ifdef SK_SUPPORT_LEGACY_STREAM_API bufferedStream.reset(SkFrontBufferedStream::Create(original.duplicate(), bufferSize)); +#else + bufferedStream = SkFrontBufferedStream::Make(original.duplicate(), bufferSize); +#endif REPORTER_ASSERT(r, bufferedStream != nullptr); const size_t bytesToPeek = bufferSize + 1; |