From 26efdc642c8ed94d3222f19eeaaf54f3abca5707 Mon Sep 17 00:00:00 2001
From: Anja Leichsenring <aleichsenring@ab-softlab.de>
Date: Mon, 3 Jun 2019 18:20:11 +0200
Subject: [PATCH] [BUGFIX] Remove side effect of unit test

The class typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest
manipulates the locale setting of the environment without
restoring it. So following tests might get affected by this change
and are not independent anymore.

Resolves: #88484
Releases: master, 9.5
Change-Id: I02617a34bff08606866e9015111496d75bb6dcd4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60869
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
---
 .../Tests/Unit/Middleware/SiteResolverTest.php      | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest.php b/typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest.php
index 2dd95d8e4531..68a75c986b56 100644
--- a/typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Middleware/SiteResolverTest.php
@@ -49,12 +49,18 @@ class SiteResolverTest extends UnitTestCase
      */
     protected $siteFoundRequestHandler;
 
+    /**
+     * @var string
+     */
+    protected $originalLocale;
+
     /**
      * Set up
      */
     protected function setUp(): void
     {
         parent::setUp();
+        $this->originalLocale = setlocale(LC_COLLATE, 0);
         $this->siteFinder = $this->getAccessibleMock(SiteFinder::class, ['dummy'], [], '', false);
 
         // A request handler which expects a site to be found.
@@ -83,6 +89,13 @@ class SiteResolverTest extends UnitTestCase
         GeneralUtility::setSingletonInstance(CacheManager::class, $cacheManagerProphecy->reveal());
     }
 
+    protected function tearDown(): void
+    {
+        // restore locale to original setting
+        setlocale(LC_COLLATE, $this->originalLocale);
+        parent::tearDown();
+    }
+
     /**
      * Expect a URL handed in, as a request. This URL does not have a GET parameter "id"
      * Then the site handling gets triggered, and the URL is taken to resolve a site.
-- 
GitLab