parent
e11bf460e0
commit
301a14dcd6
@ -0,0 +1,37 @@ |
||||
<?php |
||||
/** |
||||
* Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl> |
||||
* This file is licensed under the Affero General Public License version 3 or |
||||
* later. |
||||
* See the COPYING-README file. |
||||
*/ |
||||
|
||||
|
||||
class OC_Cache_XCache{ |
||||
/** |
||||
* entries in XCache gets namespaced to prevent collisions between owncloud instaces and users |
||||
*/ |
||||
protected function getNameSpace() { |
||||
return OC_Util::getInstanceId().'/'.OC_User::getUser().'/'; |
||||
} |
||||
|
||||
public function get($key) { |
||||
return xcache_get($this->getNamespace().$key); |
||||
} |
||||
|
||||
public function set($key, $value, $ttl=0) { |
||||
if($ttl>0){ |
||||
return xcache_set($this->getNamespace().$key,$value,$ttl); |
||||
}else{ |
||||
return xcache_set($this->getNamespace().$key,$value); |
||||
} |
||||
} |
||||
|
||||
public function remove($key) { |
||||
return xcache_unset($this->getNamespace().$key); |
||||
} |
||||
|
||||
public function clear(){ |
||||
return xcache_unset_by_prefix($this->getNamespace()); |
||||
} |
||||
} |
||||
@ -0,0 +1,42 @@ |
||||
<?php |
||||
/** |
||||
* Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> |
||||
* This file is licensed under the Affero General Public License version 3 or |
||||
* later. |
||||
* See the COPYING-README file. |
||||
*/ |
||||
|
||||
abstract class Test_Cache extends UnitTestCase { |
||||
/** |
||||
* @var OC_Cache cache; |
||||
*/ |
||||
protected $instance; |
||||
|
||||
public function tearDown(){ |
||||
$this->instance->clear(); |
||||
} |
||||
|
||||
function testSimple(){ |
||||
$this->assertNull($this->instance->get('value1')); |
||||
|
||||
$value='foobar'; |
||||
$this->instance->set('value1',$value); |
||||
$received=$this->instance->get('value1'); |
||||
$this->assertEqual($value,$received,'Value recieved from cache not equal to the original'); |
||||
$value='ipsum lorum'; |
||||
$this->instance->set('value1',$value); |
||||
$received=$this->instance->get('value1'); |
||||
$this->assertEqual($value,$received,'Value not overwritten by seccond set'); |
||||
|
||||
$value2='foobar'; |
||||
$this->instance->set('value2',$value2); |
||||
$received2=$this->instance->get('value2'); |
||||
$this->assertEqual($value,$received,'Value changed while setting other variable'); |
||||
$this->assertEqual($value2,$received2,'Seccond value not equal to original'); |
||||
|
||||
$this->assertNull($this->instance->get('not_set'),'Unset value not equal to null'); |
||||
} |
||||
|
||||
function testTTL(){ |
||||
} |
||||
} |
||||
@ -0,0 +1,27 @@ |
||||
<?php |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Robin Appelman |
||||
* @copyright 2012 Robin Appelman icewind@owncloud.com |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
class Test_Cache_File extends Test_Cache { |
||||
public function setUp(){ |
||||
$this->instance=new OC_Cache_File(); |
||||
} |
||||
} |
||||
@ -0,0 +1,27 @@ |
||||
<?php |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Robin Appelman |
||||
* @copyright 2012 Robin Appelman icewind@owncloud.com |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
class Test_Cache_XCache extends Test_Cache { |
||||
public function setUp(){ |
||||
$this->instance=new OC_Cache_XCache(); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue