aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/DataRefTest.cpp
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-06-01 09:43:01 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-01 16:00:45 +0000
commit69270fbb2b42e2ea6985a83006f40ae9921f1eb3 (patch)
treec57d33334dbfe99eb3f032e11c5221f48cab7329 /tests/DataRefTest.cpp
parenta16f6cb40a7d6d186c86c2689c2be827b2093ae4 (diff)
Add smartptr SkRWBuffer snapshot methods
Change-Id: Id816a38213a86bf090230ebaaef00d98a9487965 Reviewed-on: https://skia-review.googlesource.com/18266 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'tests/DataRefTest.cpp')
-rw-r--r--tests/DataRefTest.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/tests/DataRefTest.cpp b/tests/DataRefTest.cpp
index d0cafc3dde..74d511cc28 100644
--- a/tests/DataRefTest.cpp
+++ b/tests/DataRefTest.cpp
@@ -12,6 +12,7 @@
#include "SkReadBuffer.h"
#include "SkWriteBuffer.h"
#include "SkStream.h"
+#include "SkTArray.h"
#include "Test.h"
static void test_is_equal(skiatest::Reporter* reporter,
@@ -255,16 +256,16 @@ static void check_alphabet_buffer(skiatest::Reporter* reporter, const SkROBuffer
DEF_TEST(RWBuffer, reporter) {
// Knowing that the default capacity is 4096, choose N large enough so we force it to use
// multiple buffers internally.
- const int N = 1000;
- SkROBuffer* readers[N];
- SkStream* streams[N];
+ static constexpr int N = 1000;
+ SkSTArray<N, sk_sp<SkROBuffer>> readers;
+ SkSTArray<N, std::unique_ptr<SkStream>> streams;
{
SkRWBuffer buffer;
for (int i = 0; i < N; ++i) {
buffer.append(gABC, 26);
- readers[i] = buffer.newRBufferSnapshot();
- streams[i] = buffer.newStreamSnapshot();
+ readers.push_back(buffer.makeROBufferSnapshot());
+ streams.push_back(buffer.makeStreamSnapshot());
}
REPORTER_ASSERT(reporter, N*26 == buffer.size());
}
@@ -272,10 +273,8 @@ DEF_TEST(RWBuffer, reporter) {
// Verify that although the SkRWBuffer's destructor has run, the readers are still valid.
for (int i = 0; i < N; ++i) {
REPORTER_ASSERT(reporter, (i + 1) * 26U == readers[i]->size());
- check_alphabet_buffer(reporter, readers[i]);
- check_alphabet_stream(reporter, streams[i]);
- readers[i]->unref();
- delete streams[i];
+ check_alphabet_buffer(reporter, readers[i].get());
+ check_alphabet_stream(reporter, streams[i].get());
}
}
@@ -287,8 +286,8 @@ DEF_TEST(RWBuffer_threaded, reporter) {
SkRWBuffer buffer;
for (int i = 0; i < N; ++i) {
buffer.append(gABC, 26);
- sk_sp<SkROBuffer> reader = sk_sp<SkROBuffer>(buffer.newRBufferSnapshot());
- SkStream* stream = buffer.newStreamSnapshot();
+ sk_sp<SkROBuffer> reader = buffer.makeROBufferSnapshot();
+ SkStream* stream = buffer.makeStreamSnapshot().release();
REPORTER_ASSERT(reporter, reader->size() == buffer.size());
REPORTER_ASSERT(reporter, stream->getLength() == buffer.size());
@@ -313,7 +312,7 @@ DEF_TEST(RWBuffer_size, r) {
SkRWBuffer buffer;
buffer.append(gABC, 26);
- sk_sp<SkROBuffer> roBuffer(buffer.newRBufferSnapshot());
+ sk_sp<SkROBuffer> roBuffer(buffer.makeROBufferSnapshot());
SkROBuffer::Iter iter(roBuffer.get());
REPORTER_ASSERT(r, iter.data());
REPORTER_ASSERT(r, iter.size() == 26);
@@ -329,7 +328,7 @@ DEF_TEST(RWBuffer_noAppend, r) {
SkRWBuffer buffer;
REPORTER_ASSERT(r, 0 == buffer.size());
- sk_sp<SkROBuffer> roBuffer = sk_sp<SkROBuffer>(buffer.newRBufferSnapshot());
+ sk_sp<SkROBuffer> roBuffer = buffer.makeROBufferSnapshot();
REPORTER_ASSERT(r, roBuffer);
if (roBuffer) {
REPORTER_ASSERT(r, roBuffer->size() == 0);
@@ -339,7 +338,7 @@ DEF_TEST(RWBuffer_noAppend, r) {
REPORTER_ASSERT(r, !iter.next());
}
- std::unique_ptr<SkStream> stream(buffer.newStreamSnapshot());
+ std::unique_ptr<SkStream> stream(buffer.makeStreamSnapshot());
REPORTER_ASSERT(r, stream);
if (stream) {
REPORTER_ASSERT(r, stream->hasLength());