public function bind(\Nethgui\Controller\RequestInterface $request) { parent::bind($request); $fileName = \Nethgui\array_head($request->getPath()); if (preg_match('/[a-z][a-z0-9]+(.rst)/i', $fileName) == 0 && preg_match('/[a-z][a-z0-9]+(.html)/i', $fileName) == 0) { throw new \Nethgui\Exception\HttpException('Not found', 404, 1322148405); } // Now assuming a trailing ".rst" or ".html" suffix. if (substr($fileName, -3) == 'rst') { $this->module = $this->getModuleSet()->getModule(substr($fileName, 0, -4)); } else { //html $this->module = $this->getModuleSet()->getModule(substr($fileName, 0, -5)); } if (is_null($this->module)) { throw new \Nethgui\Exception\HttpException('Not found', 404, 1322148406); } $this->module->setPlatform($this->getPlatform()); if (!$this->module->isInitialized()) { $this->module->initialize(); } }
protected function runModuleTest(\Nethgui\Module\ModuleInterface $module, ModuleTestEnvironment $env) { $platform = $this->createPlatformMock($env); $module->setPlatform($platform); $module->initialize(); if ($module instanceof \Nethgui\Controller\RequestHandlerInterface) { $request = $this->createRequestMock($env); $validationReport = $this->createValidationReportMock($env); $module->bind($request); $module->validate($validationReport); $module->process(); } $view = $this->createViewMock($module, $env); $module->prepareView($view); $platform->signalFinalEvents(); foreach ($env->getView() as $key => $value) { $this->assertEquals($value, $view[$key], "View parameter `{$key}`."); } $this->fullViewOutput = array(); // obsolete: $view->getClientEvents(); foreach ($this->dbObjectCheckList as $dbStubInfo) { $this->assertTrue($dbStubInfo[1]->getState()->isFinal(), sprintf('Database `%s` is not in final state! %s', $dbStubInfo[0], $dbStubInfo[1]->getState())); } }