Krinkle has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/250645

Change subject: objectcache: Add a clear() method to HashBagOStuff
......................................................................

objectcache: Add a clear() method to HashBagOStuff

Including tests for delete() and clear().

Change-Id: If39d729838e312523f0df3ae8b235ebe939a17fd
---
M includes/libs/objectcache/HashBagOStuff.php
M tests/phpunit/includes/libs/objectcache/HashBagOStuffTest.php
2 files changed, 26 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/45/250645/1

diff --git a/includes/libs/objectcache/HashBagOStuff.php 
b/includes/libs/objectcache/HashBagOStuff.php
index 24b0dc3..d22000d 100644
--- a/includes/libs/objectcache/HashBagOStuff.php
+++ b/includes/libs/objectcache/HashBagOStuff.php
@@ -94,4 +94,8 @@
 
                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 4f8a3cb..39b84e1 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++ ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/250645
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If39d729838e312523f0df3ae8b235ebe939a17fd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to