public function testRenderWithCache(IntegrationTester $I)
{
$I->wantToTest('Render by using simple view with cache');
if (PHP_MAJOR_VERSION == 7) {
throw new \PHPUnit_Framework_SkippedTestError('Skipped in view of the experimental support for PHP 7.');
}
// Create cache at first run
$view = new Simple();
codecept_debug(gettype($view->getParamsToView()));
$view->setViewsDir(PATH_DATA . 'views/');
// No cache before DI is set
$I->assertFalse($view->getCache());
$view->setDI($this->getDi());
$I->assertEquals($view, $view->cache(['key' => 'view_simple_cache']));
$cache = $view->getCache();
$I->assertInstanceOf('Phalcon\\Cache\\BackendInterface', $cache);
$timeNow = time();
$view->setParamToView('a_cool_var', $timeNow);
$I->assertEquals("<p>{$timeNow}</p>", rtrim($view->render('test3/coolVar')));
$I->amInPath(PATH_CACHE);
$I->seeFileFound('view_simple_cache');
$I->seeInThisFile("<p>{$timeNow}</p>");
unset($view, $cache);
// Re-use the cached contents
$view = new Simple();
$view->setViewsDir(PATH_DATA . 'views/');
$view->setDI($this->getDi());
$view->cache(['key' => 'view_simple_cache']);
$I->assertEmpty($view->getContent());
$I->assertEquals("<p>{$timeNow}</p>", rtrim($view->render('test3/coolVar')));
$I->assertNotEmpty($view->getContent());
$I->assertEquals("<p></p>", rtrim($view->render('test3/coolVar')));
$I->deleteFile('view_simple_cache');
}