dbPool = new DatabasePool(); /** @var array $CONFIG */ $this->dbPool->create('core', $GLOBALS['CONFIG']['db']['core']['masters']['admin']); $this->app = new class extends ApplicationAbstract { }; $this->app->l11nManager = new L11nManager(); $this->app->dbPool = $this->dbPool; } public function testDefault() { $view = new View($this->app, new Request(new Http('')), new Response(new Localization())); self::assertEmpty($view->getTemplate()); self::assertEmpty($view->getViews()); self::assertTrue(is_array($view->getViews())); self::assertFalse($view->getView(0)); self::assertFalse($view->removeView(0)); self::assertNull($view->getData(0)); self::assertFalse($view->removeData(0)); self::assertEmpty($view->toArray()); } public function testGetText() { $view = new View($this->app, $request = new Request(new Http('')), $response = new Response()); $view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list'); $expected = [ 'en' => [ 'Admin' => [ 'Test' => 'Test' ] ] ]; $this->app->l11nManager = new L11nManager(); $this->app->l11nManager->loadLanguage('en', 'Admin', $expected['en']); self::assertEquals('Test', $view->getText('Test')); self::assertEquals('<a href="test">Test</a>', $view->getHtml('Test')); } public function testGetSet() { $view = new View($this->app, $request = new Request(new Http('')), $response = new Response()); $view->setData('key', 'value'); self::assertEquals('value', $view->getData('key')); self::assertTrue($view->addData('key2', 'valu2')); self::assertFalse($view->addData('key2', 'valu3')); self::assertEquals('valu2', $view->getData('key2')); self::assertTrue($view->removeData('key2')); self::assertFalse($view->removeData('key3')); self::assertEquals($request, $view->getRequest()); self::assertEquals($response, $view->getResponse()); self::assertEquals('<a href="test">Test</a>', $view->printHtml('Test')); self::assertEquals('<a href="test">Test</a>', ViewAbstract::html('Test')); $tView = new View($this->app, $request, $response); self::assertTrue($view->addView('test', $tView)); self::assertEquals($tView, $view->getView('test')); self::assertEquals(1, count($view->getViews())); self::assertTrue($view->removeView('test')); self::assertFalse($view->removeView('test')); self::assertFalse($view->getView('test')); } public function testRender() { $view = new View($this->app, new Request(), new Response()); $view->setTemplate('/phpOMS/tests/Views/testTemplate'); self::assertEquals('Test', $view->render()); } /** * @expectedException \phpOMS\System\File\PathException */ public function testRenderException() { $view = new View($this->app, new Request(new Http('')), new Response()); $view->setTemplate('something.txt'); $view->render(); } /** * @expectedException \phpOMS\System\File\PathException */ public function testSerializeException() { $view = new View($this->app, new Request(new Http('')), new Response()); $view->setTemplate('something.txt'); $view->serialize(); } }