Example #1
0
 public function testBasic()
 {
     $di = new Phalcon\DI\FactoryDefault();
     $di['view'] = function () {
         $view = new View();
         $view->setBasePath(__DIR__ . '/../')->setViewsDir('unit-tests/views/');
         return $view;
     };
     $viewmodel = new ViewModel();
     $viewmodel->label = 'phalcon';
     $viewmodel->setTemplate('model/model1');
     $this->assertEquals('phalcon', $viewmodel->label);
     $viewmodel1 = new ViewModel(array('label' => 'First child'), 'model/model2');
     $viewmodel2 = new Phalcon\Mvc\View\Model(['label' => 'Second child'], 'model/model2', 'child2');
     $viewmodel->addChild($viewmodel1, 'child1');
     $viewmodel->addChild($viewmodel2);
     $content = $viewmodel->render();
     $this->assertEquals($content, '<ul>phalcon<li>First child</li><li>Second child</li></ul>');
     $viewmodel3 = new Phalcon\Mvc\View\Model(['label' => 'append'], 'model/model2', 'child1');
     $viewmodel->appendChild($viewmodel3);
     $content = $viewmodel->render();
     var_dump($viewmodel->child1);
     $this->assertEquals($content, '<ul>phalcon<li>First child</li><li>append</li><li>Second child</li></ul>');
 }