From 30915495cc54ba6dc2d5d93aaee2b3a91ea4bfd3 Mon Sep 17 00:00:00 2001 From: David Stone Date: Sun, 21 Jun 2026 21:36:06 -0600 Subject: [PATCH] wip: preserve redirect filter coverage --- .../Setup_Wizard_Admin_Page_Test.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/WP_Ultimo/Admin_Pages/Setup_Wizard_Admin_Page_Test.php b/tests/WP_Ultimo/Admin_Pages/Setup_Wizard_Admin_Page_Test.php index 770f63cc..b27e7462 100644 --- a/tests/WP_Ultimo/Admin_Pages/Setup_Wizard_Admin_Page_Test.php +++ b/tests/WP_Ultimo/Admin_Pages/Setup_Wizard_Admin_Page_Test.php @@ -149,6 +149,28 @@ private function capture_redirect(callable $callback): string { return $redirect_url; } + public function test_capture_redirect_preserves_existing_wp_redirect_filters(): void { + + $existing_filter = static function ($location) { + return $location; + }; + + add_filter('wp_redirect', $existing_filter, 20); + + try { + $redirect_url = $this->capture_redirect( + static function () { + wp_safe_redirect(network_admin_url('admin.php?page=wp-ultimo-setup')); + } + ); + + $this->assertStringContainsString('admin.php?page=wp-ultimo-setup', $redirect_url); + $this->assertSame(20, has_filter('wp_redirect', $existing_filter)); + } finally { + remove_filter('wp_redirect', $existing_filter, 20); + } + } + // ------------------------------------------------------------------------- // Page properties // -------------------------------------------------------------------------