| Index: tests/DiscardableMemoryPool.cpp
|
| diff --git a/tests/DiscardableMemoryPool.cpp b/tests/DiscardableMemoryPool.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8af73585936a846825d77320c1eb2affb8d3443b
|
| --- /dev/null
|
| +++ b/tests/DiscardableMemoryPool.cpp
|
| @@ -0,0 +1,37 @@
|
| +/*
|
| + * 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 "SkDiscardableMemoryPool.h"
|
| +
|
| +#include "Test.h"
|
| +#include "TestClassDef.h"
|
| +
|
| +DEF_TEST(DiscardableMemoryPool, reporter) {
|
| + SkAutoTUnref<SkDiscardableMemoryPool> pool(
|
| + SkNEW_ARGS(SkDiscardableMemoryPool, (1, NULL)));
|
| + pool->setRAMBudget(3);
|
| + REPORTER_ASSERT(reporter, 0 == pool->getRAMUsed());
|
| +
|
| + SkAutoTDelete<SkDiscardableMemory> dm1(pool->create(100));
|
| + REPORTER_ASSERT(reporter, dm1->data() != NULL);
|
| + REPORTER_ASSERT(reporter, 100 == pool->getRAMUsed());
|
| + dm1->unlock();
|
| + REPORTER_ASSERT(reporter, 0 == pool->getRAMUsed());
|
| + REPORTER_ASSERT(reporter, !dm1->lock());
|
| +
|
| +
|
| + SkAutoTDelete<SkDiscardableMemory> dm2(pool->create(200));
|
| + REPORTER_ASSERT(reporter, 200 == pool->getRAMUsed());
|
| + pool->setRAMBudget(400);
|
| + dm2->unlock();
|
| + REPORTER_ASSERT(reporter, 200 == pool->getRAMUsed());
|
| + REPORTER_ASSERT(reporter, dm2->lock());
|
| + dm2->unlock();
|
| + pool->dumpPool();
|
| + REPORTER_ASSERT(reporter, !dm2->lock());
|
| + REPORTER_ASSERT(reporter, 0 == pool->getRAMUsed());
|
| +}
|
| +
|
|
|