summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-06-05 20:54:07 +0200
committerRobin Appelman <icewind@owncloud.com>2012-06-05 20:54:07 +0200
commitf6298cb74fe7485856e2353e371f2923d5d47890 (patch)
treed73409990bf248878beeae5a8ca04a1876381d20
parentcb941996c042fc8bd22422bd928ce8fc8b6b25ca (diff)
downloadnextcloud-server-f6298cb74fe7485856e2353e371f2923d5d47890.tar.gz
nextcloud-server-f6298cb74fe7485856e2353e371f2923d5d47890.zip
add hasKey for XCache backend
-rw-r--r--lib/cache/xcache.php4
-rw-r--r--tests/lib/cache.php5
2 files changed, 9 insertions, 0 deletions
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');
}