aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-09-15 21:39:47 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-16 02:04:23 +0000
commit98c5d92ee60f6d395f9591891922aa9852a497ee (patch)
tree239001c6ffe06559fd7425ba1549f30d9cbc1c37 /tests
parent7e4e99386fe6e7bf131ba8461dcb1990bf15e346 (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.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;