aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-09-15 11:37:15 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-15 18:46:45 +0000
commit49f1f34438d3431f6d7e32847accd2ba96948a73 (patch)
treec4e0342c3350c546573fb2add99597e92c9ca66c /tests
parent226e2032e8e37068a409aeb37aac79608fbd315d (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.cpp6
-rw-r--r--tests/FrontBufferedStreamTest.cpp26
-rw-r--r--tests/StreamTest.cpp8
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;