PHP Classes

File: test/error_test.php

Recommend this page to a friend!
  Classes of Francisco Núñez   Catalyst   test/error_test.php   Download  
File: test/error_test.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Catalyst
Framework to develop MVC-based PHP applications
Author: By
Last change:
Date: 2 days ago
Size: 2,590 bytes
 

Contents

Class file image Download
<?php
/**************************************************************************************
 *
 * Catalyst PHP Framework
 * PHP Version 8.3 (Required).
 *
 * @package Catalyst
 * @subpackage Test
 * @see https://github.com/arcanisgk/catalyst
 *
 * @author Walter Nuñez (arcanisgk/original founder) <[email protected]>
 * @copyright 2023 - 2025
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 *
 * @note This program is distributed in the hope that it will be useful
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * @category Framework
 * @filesource
 *
 * @link https://catalyst.dock Local development URL
 *
 * Error Test component for the Catalyst Framework
 *
 */

use Catalyst\Helpers\Error\BugCatcher;

/**
 * Test function to run various error scenarios
 *
 * @param string $testType Type of test to run (error, exception, fatal)
 * @return void
 * @throws Exception
 */
function runErrorTest(string $testType = 'all'): void
{
    echo
"<h1>Catalyst Error Handling System Test</h1>";
    echo
"<p>Testing error type: " . htmlspecialchars($testType) . "</p>";

   
// Initialize the error handling system
   
BugCatcher::getInstance()->initialize();

    switch (
$testType) {
        case
'error':
           
// Test a PHP warning
           
echo "<p>Testing PHP Warning...</p>";
           
trigger_error("This is a forced error", E_USER_ERROR);
            break;

        case
'notice':
           
// Test a PHP notice
           
echo "<p>Testing PHP Notice...</p>";
           
$array = [];
            echo
$array['non_existent_key'];
            break;

        case
'exception':
           
// Test an exception
           
echo "<p>Testing Exception...</p>";
            throw new
Exception("This is a test exception");
            break;

        case
'fatal':
           
// Test a fatal error
           
echo "<p>Testing Fatal Error...</p>";
           
non_existent_function();
            break;

        case
'all':
        default:
           
// Let user choose which test to run
           
echo <<<HTML
<p>Choose a test to run:</p>
            <ul>
                <li><a href="?test=error">Test PHP Warning</a></li>
                <li><a href="?test=notice">Test PHP Notice</a></li>
                <li><a href="?test=exception">Test Exception</a></li>
                <li><a href="?test=fatal">Test Fatal Error</a></li>
            </ul>
HTML;
            break;
    }
}