From caa3e2ea067ff395a147d57637dc8935b6f568f8 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 3 Nov 2015 06:49:13 +0000 Subject: [PATCH] objectcache: Add a clear() method to HashBagOStuff Including tests for delete() and clear(). Change-Id: If39d729838e312523f0df3ae8b235ebe939a17fd --- includes/libs/objectcache/HashBagOStuff.php | 4 ++++ .../libs/objectcache/HashBagOStuffTest.php | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/includes/libs/objectcache/HashBagOStuff.php b/includes/libs/objectcache/HashBagOStuff.php index a058ecff26..6a434038e8 100644 --- a/includes/libs/objectcache/HashBagOStuff.php +++ b/includes/libs/objectcache/HashBagOStuff.php @@ -94,4 +94,8 @@ class HashBagOStuff extends BagOStuff { return true; } + + public function clear() { + $this->bag = array(); + } } diff --git a/tests/phpunit/includes/libs/objectcache/HashBagOStuffTest.php b/tests/phpunit/includes/libs/objectcache/HashBagOStuffTest.php index 4f8a3cb56b..39b84e104f 100644 --- a/tests/phpunit/includes/libs/objectcache/HashBagOStuffTest.php +++ b/tests/phpunit/includes/libs/objectcache/HashBagOStuffTest.php @@ -5,6 +5,28 @@ */ class HashBagOStuffTest extends PHPUnit_Framework_TestCase { + public function testDelete() { + $cache = new HashBagOStuff(); + for ( $i = 0; $i < 10; $i++ ) { + $cache->set( "key$i", 1 ); + $this->assertEquals( 1, $cache->get( "key$i" ) ); + $cache->delete( "key$i" ); + $this->assertEquals( false, $cache->get( "key$i" ) ); + } + } + + public function testClear() { + $cache = new HashBagOStuff(); + for ( $i = 0; $i < 10; $i++ ) { + $cache->set( "key$i", 1 ); + $this->assertEquals( 1, $cache->get( "key$i" ) ); + } + $cache->clear(); + for ( $i = 0; $i < 10; $i++ ) { + $this->assertEquals( false, $cache->get( "key$i" ) ); + } + } + public function testEvictionOrder() { $cache = new HashBagOStuff( array( 'maxKeys' => 10 ) ); for ( $i = 0; $i < 10; $i++ ) { -- 2.20.1