CacheTest::testOutputApcCache PHP Method

testOutputApcCache() public method

public testOutputApcCache ( )
    public function testOutputApcCache()
    {
        $ready = $this->_prepareApc();
        if (!$ready) {
            return false;
        }
        apc_delete('_PHCAtest-output');
        $time = date('H:i:s');
        $frontCache = new Phalcon\Cache\Frontend\Output(array('lifetime' => 2));
        $cache = new Phalcon\Cache\Backend\Apc($frontCache);
        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, apc_fetch('_PHCAtest-output'));
        //Expect same cache
        $content = $cache->start('test-output');
        if ($content === null) {
            $this->assertTrue(false);
        }
        $this->assertEquals($content, $obContent);
        $this->assertEquals($content, apc_fetch('_PHCAtest-output'));
        //Query keys
        $keys = $cache->queryKeys();
        $this->assertEquals($keys, array(0 => 'test-output'));
        //Delete entry from cache
        $this->assertTrue($cache->delete('test-output'));
    }