From: Robin Appelman Date: Tue, 5 Jun 2012 18:54:07 +0000 (+0200) Subject: add hasKey for XCache backend X-Git-Tag: v4.5.0beta1~74^2~424^2~15 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f6298cb74fe7485856e2353e371f2923d5d47890;p=nextcloud-server.git add hasKey for XCache backend --- diff --git a/lib/cache/xcache.php b/lib/cache/xcache.php index a1f4d905b89..ad1e3e2c1f2 100644 --- a/lib/cache/xcache.php +++ b/lib/cache/xcache.php @@ -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); } diff --git a/tests/lib/cache.php b/tests/lib/cache.php index 35e83a9ddcb..23cbd3506eb 100644 --- a/tests/lib/cache.php +++ b/tests/lib/cache.php @@ -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'); }