X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=application%2Ftests%2Fclass_ApplicationHelper.php;h=008bda16236d71432d82befac927f74d24857e3b;hb=2b4f4b88ec5f9d385110e800494c680e164b5a36;hp=68b23c5e5bea60dcd1144635f552f263a7522aa5;hpb=68760af646a51cf18bd0e6e11e0ebfdeb324e0d2;p=core.git diff --git a/application/tests/class_ApplicationHelper.php b/application/tests/class_ApplicationHelper.php index 68b23c5e..008bda16 100644 --- a/application/tests/class_ApplicationHelper.php +++ b/application/tests/class_ApplicationHelper.php @@ -1,9 +1,15 @@ . */ -class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplication, Registerable { +class ApplicationHelper extends BaseApplication implements ManageableApplication, Registerable { /** * The version number of this application */ @@ -150,37 +156,54 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica } /** - * Launches the test suite + * 1) Setups application data * * @return void */ - public final function entryPoint () { - // Set this application in registry - Registry::getRegistry()->addInstance('app', $this); + public function setupApplicationData () { + // Set all application data + $this->setAppName('Unit tests and more'); + $this->setAppVersion('0.0.0'); + $this->setAppShortName('tests'); + } - // Default response is console - $response = self::getResponseTypeFromSystem(); - $responseType = self::getResponseTypeFromSystem(); + /** + * 2) Does initial stuff before starting the application + * + * @return void + */ + public function initApplication () { + // Get config instance + $cfg = FrameworkBootstrap::getConfigurationInstance(); - // Create a new request object - $requestInstance = ObjectFactory::createObjectByName(self::convertToClassName($response) . 'Request'); + // Initialize output system + self::createDebugInstance('ApplicationHelper'); - // Remember request instance here - $this->setRequestInstance($requestInstance); + /* + * This application needs a database connection then simply call init + * method. + */ + FrameworkBootstrap::initDatabaseInstance(); - // Do we have another response? - if ($requestInstance->isRequestElementSet('request')) { - // Then use it - $response = strtolower($requestInstance->getRequestElement('request')); - $responseType = $response; - } // END - if + // Register core tests + ClassLoader::registerTestsPath('framework/main/tests'); + + // Register own tests + ClassLoader::registerTestsPath('application/tests/tests'); - // ... and a new response object - $responseClass = sprintf('%sResponse', self::convertToClassName($response)); - $responseInstance = ObjectFactory::createObjectByName($responseClass, array($this)); + // Scan for them now + ClassLoader::scanTestsClasses(); + } - // Remember response instance here - $this->setResponseInstance($responseInstance); + /** + * 3) Launches the application + * + * @return void + */ + public function launchApplication () { + // Get request/response instances + $requestInstance = FrameworkBootstrap::getRequestInstance(); + $responseInstance = FrameworkBootstrap::getResponseInstance(); // Get the parameter from the request $commandName = $requestInstance->getRequestElement('command'); @@ -195,8 +218,15 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica } // END - if // Get a controller resolver - $resolverClass = self::convertToClassName($this->getAppShortName() . '_' . $responseType . '_controller_resolver'); - $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName, $this)); + $resolverClass = sprintf( + 'Org\Mxchange\CoreFramework\Tests\Resolver\Controller\%s', + self::convertToClassName(sprintf( + '%s_%s_controller_resolver', + $this->getAppShortName(), + FrameworkBootstrap::getRequestTypeFromSystem() + )) + ); + $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName)); // Get a controller instance as well $this->setControllerInstance($resolverInstance->resolveController()); @@ -205,11 +235,9 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica $this->getControllerInstance()->handleRequest($requestInstance, $responseInstance); // -------------------------- Shutdown phase -------------------------- - // Shutting down the hub by saying "good bye" to all connected peers - // and other hubs, flushing all queues and caches. - self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown in progress, main loop exited.'); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown in progress ...'); $this->getControllerInstance()->executeShutdownFilters($requestInstance, $responseInstance); - self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)'); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)'); } /** @@ -232,7 +260,7 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica * @return $masterTemplateName Name of the master template */ public function buildMasterTemplateName () { - return 'node_main'; + return 'tests_main'; } /** @@ -245,7 +273,5 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica public function assignExtraTemplateData (CompileableTemplate $templateInstance) { $this->partialStub('Unfinished method. templateInstance=' . $templateInstance->__toString()); } -} -// [EOF] -?> +}