public function testSettersAndGetters()
{
$this->specify("View getters and setters don't work", function () {
$view = new View();
expect($view)->equals($view->setBasePath(PATH_DATA));
$view->foo = "bar";
expect("bar")->equals($view->foo);
expect($view)->equals($view->setVar("foo1", "bar1"));
expect("bar1")->equals($view->getVar("foo1"));
$expectedVars = ["foo2" => "bar2", "foo3" => "bar3"];
expect($view)->equals($view->setVars($expectedVars));
expect("bar2")->equals($view->foo2);
expect("bar3")->equals($view->foo3);
expect($view)->equals($view->setVars($expectedVars, false));
expect($view)->equals($view->setParamToView("foo4", "bar4"));
$expectedParamsToView = ["foo2" => "bar2", "foo3" => "bar3", "foo4" => "bar4"];
expect($expectedParamsToView)->equals($view->getParamsToView());
expect($view)->equals($view->setContent("<h1>hello</h1>"));
expect("<h1>hello</h1>")->equals($view->getContent());
expect($view)->equals($view->setViewsDir("views/"));
expect("views/")->equals($view->getViewsDir());
expect($view)->equals($view->setLayoutsDir("views/layouts/"));
expect("views/layouts/")->equals($view->getLayoutsDir());
expect($view)->equals($view->setPartialsDir("views/partials/"));
expect("views/partials/")->equals($view->getPartialsDir());
expect($view)->equals($view->disableLevel(View::LEVEL_MAIN_LAYOUT));
expect($view)->equals($view->setRenderLevel(View::LEVEL_ACTION_VIEW));
expect(View::LEVEL_ACTION_VIEW)->equals($view->getRenderLevel());
expect($view)->equals($view->setMainView("html5"));
expect("html5")->equals($view->getMainView());
expect($view)->equals($view->setLayout("test2"));
expect("test2")->equals($view->getLayout());
expect($view)->equals($view->setTemplateBefore("before"));
expect($view)->equals($view->setTemplateAfter("after"));
expect($view)->equals($view->cleanTemplateBefore());
expect($view)->equals($view->cleanTemplateAfter());
$view->start();
$view->render("test2", "index");
$view->finish();
expect("test2")->equals($view->getControllerName());
expect("index")->equals($view->getActionName());
});
}