CacheTest::testOutputXcache PHP Method

testOutputXcache() public method

public testOutputXcache ( )
    public function testOutputXcache()
    {
        $ready = $this->_prepareXcache();
        if (!$ready) {
            return false;
        }
        xcache_unset('_PHCXtest-output');
        $time = date('H:i:s');
        $frontCache = new Phalcon\Cache\Frontend\Output(array('lifetime' => 2));
        $cache = new Phalcon\Cache\Backend\Xcache($frontCache, array('statsKey' => '_PHCM'));
        ob_start();
        //First time cache
        $content = $cache->start('test-output');
        if ($content !== null) {
            $this->assertTrue(false);
        }
        echo $time;
        $cache->save(null, null, null, true);
        $obContent = ob_get_contents();
        ob_end_clean();
        $this->assertEquals($time, $obContent);
        $this->assertEquals($time, xcache_get('_PHCXtest-output'));
        //Expect same cache
        $content = $cache->start('test-output');
        if ($content === null) {
            $this->assertTrue(false);
        }
        $this->assertEquals($content, $obContent);
        $this->assertEquals($content, xcache_get('_PHCXtest-output'));
        //Query keys
        $keys = $cache->queryKeys();
        $this->assertEquals($keys, array(0 => 'test-output'));
        //Delete entry from cache
        $this->assertTrue($cache->delete('test-output'));
    }