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>'); }