Phalcon\Test\Unit\Mvc\ViewTest::testGetCurrentRenderLevel PHP Méthode

testGetCurrentRenderLevel() public méthode

Tests the View::getCurrentRenderLevel
Since: 2013-10-03
Author: Volodymyr Kolesnykov ([email protected])
    public function testGetCurrentRenderLevel()
    {
        $this->specify('The View listener does not fetch current render level correctly', function () {
            $view = new View();
            $listener = new AfterRenderListener();
            $eventsManager = new Manager();
            $eventsManager->attach('view', $listener);
            $view->setViewsDir(PATH_DATA . 'views' . DIRECTORY_SEPARATOR);
            $view->setEventsManager($eventsManager);
            $view->start();
            $view->render('test3', 'other');
            $view->finish();
            expect($view->getContent())->equals("<html>lolhere</html>\n");
            expect($listener->getLevels())->equals('1,3,5');
            $listener->reset();
            $view->setTemplateAfter('test');
            $view->start();
            $view->render('test3', 'other');
            $view->finish();
            expect($view->getContent())->equals("<html>zuplolhere</html>\n");
            expect($listener->getLevels())->equals('1,3,4,5');
            $listener->reset();
            $view->cleanTemplateAfter();
            $view->setRenderLevel(View::LEVEL_MAIN_LAYOUT);
            $view->start();
            $view->render('test3', 'other');
            $view->finish();
            expect($view->getContent())->equals("<html>lolhere</html>\n");
            expect($listener->getLevels())->equals('1,3,5');
            $listener->reset();
            $view->setRenderLevel(View::LEVEL_LAYOUT);
            $view->start();
            $view->render('test3', 'other');
            $view->finish();
            expect($view->getContent())->equals('lolhere');
            expect($listener->getLevels())->equals('1,3');
            $listener->reset();
            $view->setRenderLevel(View::LEVEL_ACTION_VIEW);
            $view->start();
            $view->render('test3', 'other');
            $view->finish();
            expect($view->getContent())->equals('here');
            expect($listener->getLevels())->equals('1');
            $listener->reset();
        });
    }