Completed
Push — master ( a8b991...dda2b8 )
by Marco
06:05 queued 02:56
created

MemcachedCacheTest::setUp()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 11
rs 9.4286
cc 2
eloc 7
nc 2
nop 0
1
<?php
2
3
namespace Doctrine\Tests\Common\Cache;
4
5
use Doctrine\Common\Cache\MemcachedCache;
6
use Memcached;
7
8
/**
9
 * @requires extension memcached
10
 */
11
class MemcachedCacheTest extends CacheTest
12
{
13
    private $memcached;
14
15
    protected function setUp()
16
    {
17
        $this->memcached = new Memcached();
18
        $this->memcached->setOption(Memcached::OPT_COMPRESSION, false);
19
        $this->memcached->addServer('127.0.0.1', 11211);
20
21
        if (@fsockopen('127.0.0.1', 11211) === false) {
22
            unset($this->memcached);
23
            $this->markTestSkipped('Cannot connect to Memcached.');
24
        }
25
    }
26
27
    protected function tearDown()
28
    {
29
        if ($this->memcached instanceof Memcached) {
30
            $this->memcached->flush();
31
        }
32
    }
33
34
    /**
35
     * {@inheritdoc}
36
     *
37
     * Memcached does not support " ", null byte and very long keys so we remove them from the tests.
38
     */
39
    public function provideCacheIds()
40
    {
41
        $ids = parent::provideCacheIds();
42
        unset($ids[21], $ids[22], $ids[24]);
43
44
        return $ids;
45
    }
46
47
    public function testGetMemcachedReturnsInstanceOfMemcached()
48
    {
49
        $this->assertInstanceOf('Memcached', $this->_getCacheDriver()->getMemcached());
50
    }
51
52
    /**
53
     * {@inheritDoc}
54
     */
55
    protected function _getCacheDriver()
56
    {
57
        $driver = new MemcachedCache();
58
        $driver->setMemcached($this->memcached);
59
        return $driver;
60
    }
61
}
62