]> git.mxchange.org Git - core.git/blobdiff - application/tests/exceptions.php
Continued:
[core.git] / application / tests / exceptions.php
index ea239eb594953aeb6cf3f8bfe2293ae4836192fc..3bc80f6623398a04564b4a537d04ec4805914217 100644 (file)
@@ -1,13 +1,15 @@
 <?php
 // Import framework stuff
-use CoreFramework\Object\BaseFrameworkSystem;
+use Org\Mxchange\CoreFramework\Assertion\AssertionException;
+use Org\Mxchange\CoreFramework\Generic\FrameworkException;
+use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 
 /**
  * An include file for setting up the exception handler of test suite
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
- * @version            0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @version            0.0.0
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2019 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  *
  * This program is free software: you can redistribute it and/or modify
@@ -27,7 +29,7 @@ use CoreFramework\Object\BaseFrameworkSystem;
 // The node's own exception handler
 function tests_exception_handler ($exceptionInstance) {
        // Is it an object and a valid instance?
-       if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof FrameworkException)) {
+       if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof Exception)) {
                // Init variable
                $backTrace = '';
 
@@ -76,9 +78,9 @@ Backtrace:
 --------------------------------------------------------------------------------
 %s
 --------------------------------------------------------------------------------\n",
-                       trim(html_entity_decode(strip_tags($exceptionInstance->__toString()))),
+                       trim(html_entity_decode(strip_tags(get_class($exceptionInstance)))),
                        trim(html_entity_decode(strip_tags($exceptionInstance->getMessage()))),
-                       $exceptionInstance->getHexCode(),
+                       ($exceptionInstance instanceof FrameworkException ? $exceptionInstance->getHexCode() : '0x' . bin2hex($exceptionInstance->getCode())),
                        $exceptionInstance->getFile(),
                        $exceptionInstance->getLine(),
                        trim($backTrace)
@@ -86,16 +88,21 @@ Backtrace:
 
                // Output the message
                print($message);
+       } elseif (is_object($exceptionInstance)) {
+               // Output more details
+               printf('exceptionInstance=%s', print_r($exceptionInstance, true));
        } else {
-               // Invalid exception instance detected! Do *only* throw exceptions that
-               // extends our own exception 'FrameworkException' to get such nice
-               // outputs like above.
-               print('exceptionInstance[]=' . gettype($exceptionInstance) . ' is invalid! Please inform the core developer team.' . PHP_EOL);
+               /*
+                * Invalid exception instance detected! Do *only* throw exceptions that
+                * extends our own exception 'FrameworkException' to get such nice
+                * outputs like above.
+                */
+               printf('exceptionInstance[]=%s is invalid! Please inform the core developer team.' . PHP_EOL, gettype($exceptionInstance));
        }
 }
 
 // Error handler
-function __errorHandler ($errno, $errstr, $errfile, $errline, array $errcontext) {
+function tests_error_handler ($errno, $errstr, $errfile, $errline, array $errcontext) {
        // Construct the message
        $message = sprintf('File: %s, Line: %s, Code: %s, Message: %s',
                basename($errfile),
@@ -109,7 +116,7 @@ function __errorHandler ($errno, $errstr, $errfile, $errline, array $errcontext)
 } // END - function
 
 // Assertion handler
-function __assertHandler ($file, $line, $code) {
+function tests_assert_handler ($file, $line, $code) {
        // Empty code?
        if ($code === '') {
                $code = '<em>Unknown</em>';
@@ -130,14 +137,14 @@ function __assertHandler ($file, $line, $code) {
 } // END - function
 
 // Set error handler
-//set_error_handler('__errorHandler');
+//set_error_handler('tests_error_handler');
 
 // Set the new handler
 set_exception_handler('tests_exception_handler');
 
 // Init assert handling
-assert_options(ASSERT_ACTIVE    , TRUE);
-assert_options(ASSERT_WARNING   , FALSE);
-assert_options(ASSERT_BAIL      , TRUE);
-assert_options(ASSERT_QUIET_EVAL, FALSE);
-assert_options(ASSERT_CALLBACK  , '__assertHandler');
+assert_options(ASSERT_ACTIVE    , true);
+assert_options(ASSERT_WARNING   , false);
+assert_options(ASSERT_BAIL      , true);
+assert_options(ASSERT_QUIET_EVAL, false);
+assert_options(ASSERT_CALLBACK  , 'tests_assert_handler');