diff options
author | Mike Reed <reed@google.com> | 2017-09-15 21:39:47 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-16 02:04:23 +0000 |
commit | 98c5d92ee60f6d395f9591891922aa9852a497ee (patch) | |
tree | 239001c6ffe06559fd7425ba1549f30d9cbc1c37 /tests | |
parent | 7e4e99386fe6e7bf131ba8461dcb1990bf15e346 (diff) |
Revert "Revert "use unique_ptr for stream api""
This reverts commit 7031b247c9fe0cb8fa32129f9bc24fea2043cee2.
Bug: skia:
Change-Id: I24c34bbee703f02994be8e206bcb9c10b5427d84
Reviewed-on: https://skia-review.googlesource.com/47541
Reviewed-by: Mike Reed <reed@google.com>
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; |