diff --git a/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php b/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php index 7f8ae617a400d66abc43c099632f31385ecd0400..2d6ed8bb75fcd7ad752806292cfb629fb78a6691 100644 --- a/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php +++ b/core/lib/Drupal/Core/Plugin/CategorizingPluginManagerTrait.php @@ -91,7 +91,7 @@ public function getSortedDefinitions(array $definitions = NULL, $label_key = 'la /** @var \Drupal\Core\Plugin\CategorizingPluginManagerTrait|\Drupal\Component\Plugin\PluginManagerInterface $this */ $definitions = $definitions ?? $this->getDefinitions(); uasort($definitions, function ($a, $b) use ($label_key) { - if ($a['category'] != $b['category']) { + if ((string) $a['category'] != (string) $b['category']) { return strnatcasecmp($a['category'], $b['category']); } return strnatcasecmp($a[$label_key], $b[$label_key]); diff --git a/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php b/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php index 3f373fae3e0ad2d2d9b91bb034a40547da60b8c2..8d4d191d009c29911cead3d8dce8149832807a5b 100644 --- a/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php +++ b/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php @@ -11,6 +11,7 @@ use Drupal\Tests\UnitTestCase; use Psr\Log\LoggerInterface; use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\Core\StringTranslation\StringTranslationTrait; /** * @coversDefaultClass \Drupal\Core\Block\BlockManager @@ -19,6 +20,8 @@ */ class BlockManagerTest extends UnitTestCase { + use StringTranslationTrait; + /** * The block manager under test. * @@ -42,6 +45,7 @@ protected function setUp(): void { $container = new ContainerBuilder(); $current_user = $this->prophesize(AccountInterface::class); $container->set('current_user', $current_user->reveal()); + $container->set('string_translation', $this->getStringTranslationStub()); \Drupal::setContainer($container); $cache_backend = $this->prophesize(CacheBackendInterface::class); @@ -55,22 +59,22 @@ protected function setUp(): void { // that are purposefully not in alphabetical order. $discovery->getDefinitions()->willReturn([ 'broken' => [ - 'admin_label' => 'Broken/Missing', - 'category' => 'Block', + 'admin_label' => $this->t('Broken/Missing'), + 'category' => $this->t('Block'), 'class' => Broken::class, 'provider' => 'core', ], 'block1' => [ - 'admin_label' => 'Coconut', - 'category' => 'Group 2', + 'admin_label' => $this->t('Coconut'), + 'category' => $this->t('Group 2'), ], 'block2' => [ - 'admin_label' => 'Apple', - 'category' => 'Group 1', + 'admin_label' => $this->t('Apple'), + 'category' => $this->t('Group 1'), ], 'block3' => [ - 'admin_label' => 'Banana', - 'category' => 'Group 2', + 'admin_label' => $this->t('Banana'), + 'category' => $this->t('Group 2'), ], ]); // Force the discovery object onto the block manager.