From 0f1886970235813aa877a5b7b40ea709488b257f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 4 Aug 2023 22:59:25 +0200 Subject: [PATCH] [ticket/9687] Fix text inconsistency between mysql & postgres PHPBB3-9687 --- tests/ban/ban_manager_test.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/ban/ban_manager_test.php b/tests/ban/ban_manager_test.php index 65f197f404..408c95e304 100644 --- a/tests/ban/ban_manager_test.php +++ b/tests/ban/ban_manager_test.php @@ -277,13 +277,22 @@ class ban_manager_test extends \phpbb_session_test_case $this->expectException($expected_exception); } - // Fix weird sorting by postgres - if (strtolower(substr(PHP_OS, 0, 3)) === 'linux' && is_array($expected) && $ban_type == 'email' && $this->db->get_sql_layer() == 'postgres') + $actual = $this->ban_manager->get_bans($ban_type); + // Sort both arrays by ban_item to be synced + if (is_array($expected) && !empty($actual)) { - $expected = array_reverse($expected); + usort($expected, function($a, $b) + { + return strcmp($a['ban_item'], $b['ban_item']) <=> 0; + } + ); + usort($actual, function($a, $b) + { + return strcmp($a['ban_item'], $b['ban_item']) <=> 0; + } + ); } - - $this->assertEquals($expected, $this->ban_manager->get_bans($ban_type)); + $this->assertEquals($expected, $actual); } public function data_get_ban_end(): array