From 07d75791be0b5440e83ad4bf9f6b00beac505a77 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 15 Sep 2025 17:49:32 -0700 Subject: [PATCH] [ticket/17542] Mock event dispatcher override early exits PHPBB-17542 --- tests/mock/event_dispatcher.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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; } }