]> source.dussan.org Git - nextcloud-server.git/commitdiff
add hasKey for XCache backend
authorRobin Appelman <icewind@owncloud.com>
Tue, 5 Jun 2012 18:54:07 +0000 (20:54 +0200)
committerRobin Appelman <icewind@owncloud.com>
Tue, 5 Jun 2012 18:54:07 +0000 (20:54 +0200)
lib/cache/xcache.php
tests/lib/cache.php

index a1f4d905b89a29083aa30e6dfebb1ff5c6f1ab3a..ad1e3e2c1f23dd1cc180564b10d244635249fb1c 100644 (file)
@@ -27,6 +27,10 @@ class OC_Cache_XCache{
                }
        }
 
+       public function hasKey($key) {
+               return xcache_isset($this->getNamespace().$key);
+       }
+
        public function remove($key) {
                return xcache_unset($this->getNamespace().$key);
        }
index 35e83a9ddcb603bce1d63cdc953bdd7c13662f5e..23cbd3506eb56400ff4461486cb04be84b0683f8 100644 (file)
@@ -18,9 +18,11 @@ abstract class Test_Cache extends UnitTestCase {
 
        function testSimple(){
                $this->assertNull($this->instance->get('value1'));
+               $this->assertFalse($this->instance->hasKey('value1'));
                
                $value='foobar';
                $this->instance->set('value1',$value);
+               $this->assertTrue($this->instance->hasKey('value1'));
                $received=$this->instance->get('value1');
                $this->assertEqual($value,$received,'Value recieved from cache not equal to the original');
                $value='ipsum lorum';
@@ -31,9 +33,12 @@ abstract class Test_Cache extends UnitTestCase {
                $value2='foobar';
                $this->instance->set('value2',$value2);
                $received2=$this->instance->get('value2');
+               $this->assertTrue($this->instance->hasKey('value1'));
+               $this->assertTrue($this->instance->hasKey('value2'));
                $this->assertEqual($value,$received,'Value changed while setting other variable');
                $this->assertEqual($value2,$received2,'Seccond value not equal to original');
 
+               $this->assertFalse($this->instance->hasKey('not_set'));
                $this->assertNull($this->instance->get('not_set'),'Unset value not equal to null');
        }