diff --git a/tests/mock/event_dispatcher.php b/tests/mock/event_dispatcher.php index fa8b4a1036..654a08d7f1 100644 --- a/tests/mock/event_dispatcher.php +++ b/tests/mock/event_dispatcher.php @@ -22,8 +22,20 @@ class phpbb_mock_event_dispatcher extends \phpbb\event\dispatcher { } - public function trigger_event($eventName, $data = array()) + public function trigger_event($eventName, $data = array()): array { - return array(); + // Ensure tests never hard-exit when phpBB calls exit_handler() + if ($eventName === 'core.exit_handler') + { + // Set the override flag so exit_handler() returns instead of exit; + if (is_array($data)) + { + $data['exit_handler_override'] = true; + } + return (array) $data; + } + + // Default behaviour of the mock: return the input data unchanged + return (array) $data; } }