Phalcon\Test\Unit\Mvc\View\Engine\Volt\CompilerTest::testVoltEngine PHP Method

testVoltEngine() public method

public testVoltEngine ( )
    public function testVoltEngine()
    {
        $this->specify("Volt engine doesn't work as expected", function () {
            @unlink(PATH_DATA . 'views/layouts/test10.volt.php');
            @unlink(PATH_DATA . 'views/test10/index.volt.php');
            @unlink(PATH_DATA . 'views/test10/other.volt.php');
            $di = new Di();
            $view = new View();
            $view->setDI($di);
            $view->setViewsDir(PATH_DATA . 'views/');
            $view->registerEngines(array('.volt' => 'Phalcon\\Mvc\\View\\Engine\\Volt'));
            $view->setParamToView('song', 'Rock n roll');
            $view->start();
            $view->setRenderLevel(View::LEVEL_ACTION_VIEW);
            $view->render('test10', 'index');
            $view->finish();
            expect($view->getContent())->equals('Hello Rock n roll!');
            $view->setParamToView('some_eval', true);
            $view->start();
            $view->setRenderLevel(View::LEVEL_LAYOUT);
            $view->render('test10', 'index');
            $view->finish();
            expect($view->getContent())->equals('Clearly, the song is: Hello Rock n roll!.' . PHP_EOL);
            //Refreshing generated view
            file_put_contents(PATH_DATA . 'views/test10/other.volt', '{{song}} {{song}}');
            $view->setParamToView('song', 'Le Song');
            $view->start();
            $view->setRenderLevel(View::LEVEL_ACTION_VIEW);
            $view->render('test10', 'other');
            $view->finish();
            expect($view->getContent())->equals('Le Song Le Song');
            $view->start();
            $view->setRenderLevel(View::LEVEL_LAYOUT);
            $view->render('test10', 'other');
            $view->finish();
            expect($view->getContent())->equals('Clearly, the song is: Le Song Le Song.' . PHP_EOL);
            //Change the view
            file_put_contents(PATH_DATA . 'views/test10/other.volt', 'Two songs: {{song}} {{song}}');
            $view->start();
            $view->setRenderLevel(View::LEVEL_LAYOUT);
            $view->render('test10', 'other');
            $view->finish();
            expect($view->getContent())->equals('Clearly, the song is: Two songs: Le Song Le Song.' . PHP_EOL);
        });
    }