memcache: some additional unit tests

This commit is contained in:
Robin Appelman 2013-07-16 15:46:27 +02:00
parent 69048ab71f
commit 8ad148feaf
4 changed files with 61 additions and 44 deletions

View File

@ -1,31 +1,20 @@
<?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_Memcache_APC extends Test_Cache {
/**
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace Test\Memcache;
class APC extends Cache {
public function setUp() {
if(!\OC\Memcache\APC::isAvailable()) {
$this->markTestSkipped('The apc extension is not available.');
return;
}
$this->instance=new \OC\Memcache\APC();
$this->instance=new \OC\Memcache\APC(uniqid());
}
}

View File

@ -0,0 +1,36 @@
<?php
/**
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace Test\Memcache;
class Cache extends \Test_Cache {
public function testExistsAfterSet() {
$this->assertFalse($this->instance->hasKey('foo'));
$this->instance->set('foo', 'bar');
$this->assertTrue($this->instance->hasKey('foo'));
}
public function testGetAfterSet() {
$this->assertNull($this->instance->get('foo'));
$this->instance->set('foo', 'bar');
$this->assertEquals('bar', $this->instance->get('foo'));
}
public function testDoesNotExistAfterRemove() {
$this->instance->set('foo', 'bar');
$this->instance->remove('foo');
$this->assertFalse($this->instance->hasKey('foo'));
}
public function tearDown() {
if ($this->instance) {
$this->instance->clear();
}
}
}

View File

@ -1,4 +1,5 @@
<?php
/**
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
@ -6,12 +7,14 @@
* See the COPYING-README file.
*/
class Test_Memcache_Memcached extends Test_Cache {
namespace Test\Memcache;
class Memcached extends Cache {
public function setUp() {
if (!\OC\Memcache\Memcached::isAvailable()) {
$this->markTestSkipped('The memcached extension is not available.');
return;
}
$this->instance = new \OC\Memcache\Memcached();
$this->instance = new \OC\Memcache\Memcached(uniqid());
}
}

View File

@ -1,31 +1,20 @@
<?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/>.
*
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
class Test_Memcache_XCache extends Test_Cache {
namespace Test\Memcache;
class XCache extends Cache {
public function setUp() {
if (!\OC\Memcache\XCache::isAvailable()) {
$this->markTestSkipped('The xcache extension is not available.');
return;
}
$this->instance = new \OC\Memcache\XCache();
$this->instance = new \OC\Memcache\XCache(uniqid());
}
}