From f6298cb74fe7485856e2353e371f2923d5d47890 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 5 Jun 2012 20:54:07 +0200 Subject: [PATCH] add hasKey for XCache backend --- lib/cache/xcache.php | 4 ++++ tests/lib/cache.php | 5 +++++ 2 files changed, 9 insertions(+) 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'); } -- 2.39.5