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>
diff --git a/tests/FrontBufferedStreamTest.cpp b/tests/FrontBufferedStreamTest.cpp
index aa2dc89..5452730 100644
--- a/tests/FrontBufferedStreamTest.cpp
+++ b/tests/FrontBufferedStreamTest.cpp
@@ -54,9 +54,10 @@
// 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_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_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 @@
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 @@
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 @@
// 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 @@
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.