From 080ea5a0f7ca785d17bff66b2605b5492c0cc24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Sch=C3=A4dlich?= Date: Wed, 9 Sep 2020 13:50:45 +0200 Subject: [PATCH] [Translator] Make sure a null locale is handled properly --- .../Translation/Tests/TranslatorTest.php | 17 +++++++++++++++-- .../Component/Translation/Translator.php | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Translation/Tests/TranslatorTest.php b/src/Symfony/Component/Translation/Tests/TranslatorTest.php index c52898954f..6df6d71564 100644 --- a/src/Symfony/Component/Translation/Tests/TranslatorTest.php +++ b/src/Symfony/Component/Translation/Tests/TranslatorTest.php @@ -19,6 +19,19 @@ use Symfony\Component\Translation\Translator; class TranslatorTest extends TestCase { + private $defaultLocale; + + protected function setUp(): void + { + $this->defaultLocale = \Locale::getDefault(); + \Locale::setDefault('en'); + } + + protected function tearDown(): void + { + \Locale::setDefault($this->defaultLocale); + } + /** * @dataProvider getInvalidLocalesTests */ @@ -45,7 +58,7 @@ class TranslatorTest extends TestCase { $translator = new Translator(null); - $this->assertNull($translator->getLocale()); + $this->assertSame('en', $translator->getLocale()); } public function testSetGetLocale() @@ -87,7 +100,7 @@ class TranslatorTest extends TestCase $translator = new Translator('en'); $translator->setLocale(null); - $this->assertNull($translator->getLocale()); + $this->assertSame('en', $translator->getLocale()); } public function testGetCatalogue() diff --git a/src/Symfony/Component/Translation/Translator.php b/src/Symfony/Component/Translation/Translator.php index 0817959ea0..75ac17c788 100644 --- a/src/Symfony/Component/Translation/Translator.php +++ b/src/Symfony/Component/Translation/Translator.php @@ -171,7 +171,7 @@ class Translator implements LegacyTranslatorInterface, TranslatorInterface, Tran */ public function getLocale() { - return $this->locale; + return $this->locale ?? \Locale::getDefault(); } /**