зеркало из https://github.com/mozilla/moz-skia.git
33 строки
864 B
C++
33 строки
864 B
C++
/*
|
|
* Copyright 2013 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include "SkDiscardableMemory.h"
|
|
|
|
#include "Test.h"
|
|
|
|
DEF_TEST(DiscardableMemory, reporter) {
|
|
const char testString[] = "HELLO, WORLD!";
|
|
const size_t len = sizeof(testString);
|
|
SkAutoTDelete<SkDiscardableMemory> dm(SkDiscardableMemory::Create(len));
|
|
REPORTER_ASSERT(reporter, dm.get() != NULL);
|
|
if (NULL == dm.get()) {
|
|
return;
|
|
}
|
|
void* ptr = dm->data();
|
|
REPORTER_ASSERT(reporter, ptr != NULL);
|
|
memcpy(ptr, testString, sizeof(testString));
|
|
dm->unlock();
|
|
bool success = dm->lock();
|
|
REPORTER_ASSERT(reporter, success);
|
|
if (!success) {
|
|
return;
|
|
}
|
|
ptr = dm->data();
|
|
REPORTER_ASSERT(reporter, 0 == memcmp(ptr, testString, len));
|
|
dm->unlock();
|
|
}
|