diff --git a/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php b/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php index 48e9938..bfc8d51 100644 --- a/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php +++ b/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php @@ -30,22 +30,28 @@ public function testAuthenticationCollector() { $providers = []; $global = []; $authentication_collector = new AuthenticationCollector(); - $priorities = [2, 0, -8, 10, 1, 3, -5, 6, -10, -4]; + $priorities = [2, 0, -8, 10, 1, 3, -5, 0, 6, -10, -4]; foreach ($priorities as $priority) { $provider_id = $this->randomMachineName(); $provider = new TestAuthenticationProvider($provider_id); - $providers[] = $provider; + $providers[$priority][$provider_id] = $provider; $global[$provider_id] = rand(0, 1) > 0.5; $authentication_collector->addProvider($provider, $provider_id, $priority, $global[$provider_id]); } // Sort the $providers array by priority (highest number is lowest priority) // and compare with AuthenticationCollector::getSortedProviders(). - array_multisort($priorities, SORT_DESC, $providers); - $this->assertEquals($providers, array_values($authentication_collector->getSortedProviders())); + krsort($providers); + + // Merge nested providers from $providers into $sorted_providers. + $sorted_providers = []; + foreach ($providers as $providers_priority) { + $sorted_providers = array_merge($sorted_providers, $providers_priority); + } + $this->assertEquals($sorted_providers, $authentication_collector->getSortedProviders()); // Test AuthenticationCollector::getProvider() and // AuthenticationCollector::isGlobal(). - foreach ($providers as $provider) { + foreach ($sorted_providers as $provider) { $this->assertEquals($provider, $authentication_collector->getProvider($provider->providerId)); $this->assertEquals($global[$provider->providerId], $authentication_collector->isGlobal($provider->providerId)); }