diff --git a/core/modules/language/src/LanguageNegotiator.php b/core/modules/language/src/LanguageNegotiator.php index 72bf83cea9e696ebb623484d066251b6cbbd18f7..c4e083ab1a30b5e2820d70b5ae0e600b99608106 100644 --- a/core/modules/language/src/LanguageNegotiator.php +++ b/core/modules/language/src/LanguageNegotiator.php @@ -2,10 +2,8 @@ namespace Drupal\language; -use Drupal\Component\Plugin\Exception\PluginNotFoundException; use Drupal\Component\Plugin\PluginManagerInterface; use Drupal\Core\Config\ConfigFactoryInterface; -use Drupal\Core\Logger\LoggerChannelTrait; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Site\Settings; use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUI; @@ -15,7 +13,6 @@ * Class responsible for performing language negotiation. */ class LanguageNegotiator implements LanguageNegotiatorInterface { - use LoggerChannelTrait; /** * The language negotiation method plugin manager. @@ -79,7 +76,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface { * @param \Drupal\language\ConfigurableLanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Component\Plugin\PluginManagerInterface $negotiator_manager - * The language negotiation methods plugin manager. + * The language negotiation methods plugin manager * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory * The configuration factory. * @param \Drupal\Core\Site\Settings $settings @@ -133,13 +130,7 @@ public function initializeType($type) { // and return the first valid language found. foreach ($this->getEnabledNegotiators($type) as $method_id => $info) { if (!isset($this->negotiatedLanguages[$method_id])) { - try { - $this->negotiatedLanguages[$method_id] = $this->negotiateLanguage($type, $method_id); - } - catch (PluginNotFoundException $e) { - // If a plugin is not found, log the error so user can handle it. - $this->getLogger('language')->error($e->getMessage()); - } + $this->negotiatedLanguages[$method_id] = $this->negotiateLanguage($type, $method_id); } // Since objects are references, we need to return a clone to prevent diff --git a/core/modules/language/tests/src/Kernel/LanguageNegotiatorPluginTest.php b/core/modules/language/tests/src/Kernel/LanguageNegotiatorPluginTest.php deleted file mode 100644 index a355071da57037cb8023e0d70848ee61ddbebab3..0000000000000000000000000000000000000000 --- a/core/modules/language/tests/src/Kernel/LanguageNegotiatorPluginTest.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -namespace Drupal\Tests\language\Kernel; - -use ColinODell\PsrTestLogger\TestLogger; -use Drupal\Component\Plugin\Exception\PluginNotFoundException; -use Drupal\Core\Language\LanguageInterface; -use Drupal\Core\Logger\LoggerChannelFactory; -use Drupal\KernelTests\KernelTestBase; - -/** - * Tests PluginNotFoundException. - * - * @group language - */ -class LanguageNegotiatorPluginTest extends KernelTestBase { - - /** - * {@inheritdoc} - */ - protected static $modules = ['language', 'user']; - - /** - * Tests for PluginNotFoundException. - */ - public function testLanguageNegotiatorNoPlugin() { - $logger = new TestLogger(); - $logger_factory = $this->createMock(LoggerChannelFactory::class); - $logger_factory->expects($this->once()) - ->method('get') - ->with('language') - ->willReturn($logger); - $this->container->set('logger.factory', $logger_factory); - $this->installEntitySchema('user'); - - // Test unavailable plugin. - $config = $this->config('language.types'); - $config->set('configurable', [LanguageInterface::TYPE_URL]); - $config->set('negotiation.language_url.enabled', [ - self::CLASS => -3, - ]); - $config->save(); - $languageNegotiator = $this->container->get('language_negotiator'); - $languageNegotiator->setCurrentUser($this->prophesize('Drupal\Core\Session\AccountInterface')->reveal()); - try { - $languageNegotiator->initializeType(LanguageInterface::TYPE_URL); - } - catch (PluginNotFoundException $exception) { - $this->fail('Plugin not found exception unhandled.'); - } - $this->assertTrue($logger->hasErrorThatContains('The "Drupal\Tests\language\Kernel\LanguageNegotiatorPluginTest" plugin does not exist.')); - } - -}