class MemcachedCacheTest in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php \Doctrine\Tests\Common\Cache\MemcachedCacheTest
Hierarchy
- class \Doctrine\Tests\Common\Cache\CacheTest extends \Doctrine\Tests\DoctrineTestCase
- class \Doctrine\Tests\Common\Cache\MemcachedCacheTest
Expanded class hierarchy of MemcachedCacheTest
File
- vendor/
doctrine/ cache/ tests/ Doctrine/ Tests/ Common/ Cache/ MemcachedCacheTest.php, line 8
Namespace
Doctrine\Tests\Common\CacheView source
class MemcachedCacheTest extends CacheTest {
private $memcached;
public function setUp() {
if (!extension_loaded('memcached')) {
$this
->markTestSkipped('The ' . __CLASS__ . ' requires the use of memcached');
}
$this->memcached = new Memcached();
$this->memcached
->setOption(Memcached::OPT_COMPRESSION, false);
$this->memcached
->addServer('127.0.0.1', 11211);
if (@fsockopen('127.0.0.1', 11211) === false) {
unset($this->memcached);
$this
->markTestSkipped('The ' . __CLASS__ . ' cannot connect to memcache');
}
}
public function tearDown() {
if ($this->memcached instanceof Memcached) {
$this->memcached
->flush();
}
}
public function testNoExpire() {
$cache = $this
->_getCacheDriver();
$cache
->save('noexpire', 'value', 0);
sleep(1);
$this
->assertTrue($cache
->contains('noexpire'), 'Memcache provider should support no-expire');
}
public function testLongLifetime() {
$cache = $this
->_getCacheDriver();
$cache
->save('key', 'value', 30 * 24 * 3600 + 1);
$this
->assertTrue($cache
->contains('key'), 'Memcache provider should support TTL > 30 days');
}
protected function _getCacheDriver() {
$driver = new MemcachedCache();
$driver
->setMemcached($this->memcached);
return $driver;
}
/**
* {@inheritDoc}
*
* @dataProvider falseCastedValuesProvider
*/
public function testFalseCastedValues($value) {
if (false === $value) {
$this
->markTestIncomplete('Memcached currently doesn\'t support saving `false` values. ');
}
parent::testFalseCastedValues($value);
}
}