]> git.mxchange.org Git - core.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Fri, 17 Feb 2023 01:34:39 +0000 (02:34 +0100)
committerRoland Häder <roland@mxchange.org>
Fri, 17 Feb 2023 01:38:39 +0000 (02:38 +0100)
- deprecated no longer needed files (they are deprecated to use anyway)
- added unit tests for FrameworkConfiguration->isEnabled() method

application/tests/data.php
application/tests/exceptions.php
application/tests/loader.php
application/tests/starter.php
tests/framework/config/FrameworkConfigurationTest.php

index 6c0572b01af3ed621e175b1207cb12c6d305edc4..7d6dceec926b2c790d8a6cc64b29a822d57f79e9 100644 (file)
@@ -1,40 +1,2 @@
 <?php
-/**
- * Application data
- *
- * Please remember that this include file is being loaded *before* the class
- * loader is loading classes from "exceptions", "interfaces" and "main"!
- *
- * @author             Roland Haeder <webmaster@shipsimu.org>
- * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team
- * @license            GNU GPL 3.0 or any newer version
- * @link               http://www.shipsimu.org
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Get config instance
-$cfg = FrameworkConfiguration::getSelfInstance();
-
-// Get an instance of the helper
-$app = call_user_func_array(
-       array($cfg->getConfigEntry('app_helper_class'), 'getSelfInstance'),
-       []
-);
-
-// Set application name and version
-$app->setAppName('Unit tests and more');
-$app->setAppVersion('0.0.0');
-$app->setAppShortName('tests');
+// @DEPRECATED
index 1e960cb85b371d1b382fbceee3f8239fe88077ca..251765e5e052a12357f22f256a5ac6453ca9bba5 100644 (file)
@@ -28,7 +28,7 @@ use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
  */
 
 // The node's own exception handler
-function tests_exception_handler ($exceptionInstance) {
+function core_exception_handler ($exceptionInstance) {
        // Is it an object and a valid instance?
        if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof Exception)) {
                // Init variable
@@ -39,11 +39,14 @@ function tests_exception_handler ($exceptionInstance) {
                        // Init argument string
                        $argsString = '';
 
-                       // Convert arguments type into human-readable
-                       foreach ($traceArray['args'] as $arg) {
-                               $argsString .= ', ' . gettype($arg);
+                       // Arguments given?
+                       if (isset($traceArray['args'])) {
+                               // Convert arguments type into human-readable
+                               foreach ($traceArray['args'] as $arg) {
+                                       $argsString .= ', ' . gettype($arg);
+                               }
+                               $argsString = substr($argsString, 2);
                        }
-                       $argsString = substr($argsString, 2);
 
                        // Set missing file/line
                        if (!isset($traceArray['file']))  $traceArray['file']  = 'unknown';
@@ -103,9 +106,9 @@ Backtrace:
 }
 
 // Error handler
-function tests_error_handler ($errno, $errstr, $errfile, $errline, array $errcontext) {
+function core_error_handler (int $errno, string $errstr, string $errfile, int $errline, array $errcontext) {
        // Construct the message
-       $message = sprintf('File: %s, Line: %s, Code: %s, Message: %s',
+       $message = sprintf('File: %s, Line: %d, Code: %d, Message: %s',
                basename($errfile),
                $errline,
                $errno,
@@ -117,9 +120,9 @@ function tests_error_handler ($errno, $errstr, $errfile, $errline, array $errcon
 }
 
 // Assertion handler
-function tests_assert_handler (string $file, int $line, $code) {
+function core_assert_handler (string $file, int $line, int $code) {
        // Empty code?
-       if ($code === '') {
+       if (empty($code)) {
                $code = '<em>Unknown</em>';
        }
 
@@ -138,14 +141,14 @@ function tests_assert_handler (string $file, int $line, $code) {
 }
 
 // Set error handler
-//set_error_handler('tests_error_handler');
+//set_error_handler('core_error_handler');
 
 // Set the new handler
-set_exception_handler('tests_exception_handler');
+set_exception_handler('core_exception_handler');
 
 // Init assert handling
 assert_options(ASSERT_ACTIVE    , true);
-assert_options(ASSERT_WARNING   , false);
+assert_options(ASSERT_WARNING   , true);
 assert_options(ASSERT_BAIL      , true);
 assert_options(ASSERT_QUIET_EVAL, false);
-assert_options(ASSERT_CALLBACK  , 'tests_assert_handler');
+assert_options(ASSERT_CALLBACK  , 'core_assert_handler');
index d863d21ac6eaad710ff37c6c1011b09bc2f99d58..7d6dceec926b2c790d8a6cc64b29a822d57f79e9 100644 (file)
@@ -1,25 +1,2 @@
 <?php
-/**
- * The application's class loader
- *
- * @author             Roland Haeder <webmaster@shipsimu.org>
- * @version            0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team
- * @license            GNU GPL 3.0 or any newer version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Scan for application's classes, exceptions and interfaces
-ClassLoader::scanApplicationClasses();
+// @DEPRECATED
index ddab3daaef08bdc369987401a77ed9d25227eb53..7d6dceec926b2c790d8a6cc64b29a822d57f79e9 100644 (file)
@@ -1,54 +1,2 @@
 <?php
-/**
- * The application launcher
- *
- * @author             Roland Haeder <webmaster@shipsimu.org>
- * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team
- * @license            GNU GPL 3.0 or any newer version
- * @link               http://www.shipsimu.org
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Is there an application helper instance? We need the method main() for
-// maining the application
-$app = call_user_func_array(
-       array(
-               FrameworkConfiguration::getSelfInstance()->getConfigEntry('app_helper_class'), 'getSelfInstance'
-       ), []
-);
-
-// Some sanity checks
-if ((empty($app)) || (is_null($app))) {
-       // Something went wrong!
-       ApplicationEntryPoint::app_exit(sprintf("[Main:] The application <span class=\"app_name\">%s</span> could not be launched because the helper class <span class=\"class_name\">%s</span> is not loaded.",
-               $application,
-               FrameworkConfiguration::getSelfInstance()->getConfigEntry('app_helper_class')
-       ));
-} elseif (!is_object($app)) {
-       // No object!
-       ApplicationEntryPoint::app_exit(sprintf("[Main:] The application <span class=\"app_name\">%s</span> could not be launched because &#39;app&#39; is not an object.",
-               $application
-       ));
-} elseif (!method_exists($app, FrameworkConfiguration::getSelfInstance()->getConfigEntry('entry_method'))) {
-       // Method not found!
-       ApplicationEntryPoint::app_exit(sprintf("[Main:] The application <span class=\"app_name\">%s</span> could not be launched because the method <span class=\"method_name\">%s</span> is missing.",
-               $application,
-               FrameworkConfiguration::getSelfInstance()->getConfigEntry('entry_method')
-       ));
-}
-
-// Call user function
-call_user_func_array(array($app, FrameworkConfiguration::getSelfInstance()->getConfigEntry('entry_method')), []);
+// @DEPRECATED
index fb65b3f8dee3cb4f06580fab74dc33c7286dd3ad..27fdc26b55625c1d7e72634666b1edebaad4c9b0 100644 (file)
@@ -14,6 +14,7 @@ use PHPUnit\Framework\TestCase;
 
 // Import SPL stuff
 use \InvalidArgumentException;
+use \UnexpectedValueException;
 
 /*
  * Copyright (C) 2017 - 2020 - Core Developer Team
@@ -349,4 +350,48 @@ class FrameworkConfigurationTest extends TestCase {
                $dummy = self::$configInstance->isFieldSet('foo');
        }
 
+       /**
+        * Tests isEnabled() method being called with empty parameter
+        */
+       public function testConfigIsEnabledEmptyString () {
+               // Expect IAE
+               $this->expectException(InvalidArgumentException::class);
+
+               // Just invoke it
+               $dummy = self::$configInstance->isEnabled('');
+       }
+
+       /**
+        * Tests isEnabled() method being called with missing configuration key
+        */
+       public function testConfigIsEnabledMissingConfigKey () {
+               // Expect NoConfig
+               $this->expectException(NoConfigEntryException::class);
+
+               // Just invoke it
+               $dummy = self::$configInstance->isEnabled('does_not_exist');
+       }
+
+       /**
+        * Tests isEnabled() method being called with non-boolean configuration key
+        */
+       public function testConfigIsEnabledNonBooleanConfigKey () {
+               // Expect UVE
+               $this->expectException(UnexpectedValueException::class);
+
+               // Set it temporary
+               self::$configInstance->setConfigEntry('is_non_boolean_enabled', 'Y');
+
+               // Just invoke it
+               $dummy = self::$configInstance->isEnabled('non_boolean');
+       }
+
+       /**
+        * Tests isEnabled() method being called with 'single_server'
+        */
+       public function testConfigIsEnabledSingleServerConfigKey () {
+               // Check it on known boolean value
+               $this->assertTrue(is_bool(self::$configInstance->isEnabled('single_server')));
+       }
+
 }