add hasKey for XCache backend

This commit is contained in:
Robin Appelman 2012-06-05 20:54:07 +02:00
parent cb941996c0
commit f6298cb74f
2 changed files with 9 additions and 0 deletions

View File

@ -27,6 +27,10 @@ class OC_Cache_XCache{
} }
} }
public function hasKey($key) {
return xcache_isset($this->getNamespace().$key);
}
public function remove($key) { public function remove($key) {
return xcache_unset($this->getNamespace().$key); return xcache_unset($this->getNamespace().$key);
} }

View File

@ -18,9 +18,11 @@ abstract class Test_Cache extends UnitTestCase {
function testSimple(){ function testSimple(){
$this->assertNull($this->instance->get('value1')); $this->assertNull($this->instance->get('value1'));
$this->assertFalse($this->instance->hasKey('value1'));
$value='foobar'; $value='foobar';
$this->instance->set('value1',$value); $this->instance->set('value1',$value);
$this->assertTrue($this->instance->hasKey('value1'));
$received=$this->instance->get('value1'); $received=$this->instance->get('value1');
$this->assertEqual($value,$received,'Value recieved from cache not equal to the original'); $this->assertEqual($value,$received,'Value recieved from cache not equal to the original');
$value='ipsum lorum'; $value='ipsum lorum';
@ -31,9 +33,12 @@ abstract class Test_Cache extends UnitTestCase {
$value2='foobar'; $value2='foobar';
$this->instance->set('value2',$value2); $this->instance->set('value2',$value2);
$received2=$this->instance->get('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($value,$received,'Value changed while setting other variable');
$this->assertEqual($value2,$received2,'Seccond value not equal to original'); $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'); $this->assertNull($this->instance->get('not_set'),'Unset value not equal to null');
} }