From 6e58d54eaebc1fc4bceb37d17cebb44ae449af3f Mon Sep 17 00:00:00 2001 From: Hugo Alliaume Date: Fri, 27 Jun 2025 05:59:11 +0200 Subject: [PATCH] [Translator] Move already generated constants from static var to class property Otherwise the generated constants were persisted between tests, and lead to bad constants names generation. --- src/Translator/.gitignore | 2 ++ src/Translator/src/TranslationsDumper.php | 7 +++---- .../tests/CacheWarmer/TranslationsCacheWarmerTest.php | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Translator/.gitignore b/src/Translator/.gitignore index 2cc9f0231c3..1784dd6561c 100644 --- a/src/Translator/.gitignore +++ b/src/Translator/.gitignore @@ -3,3 +3,5 @@ /composer.lock /phpunit.xml /.phpunit.result.cache + +/var diff --git a/src/Translator/src/TranslationsDumper.php b/src/Translator/src/TranslationsDumper.php index a986c7c05c9..5ffa0fe43ba 100644 --- a/src/Translator/src/TranslationsDumper.php +++ b/src/Translator/src/TranslationsDumper.php @@ -34,6 +34,7 @@ class TranslationsDumper { private array $excludedDomains = []; private array $includedDomains = []; + private array $alreadyGeneratedConstants = []; public function __construct( private string $dumpDir, @@ -184,16 +185,14 @@ private function getLocaleFallbacks(MessageCatalogueInterface ...$catalogues): a private function generateConstantName(string $translationId): string { - static $alreadyGenerated = []; - $translationId = s($translationId)->ascii()->snake()->upper()->replaceMatches('/^(\d)/', '_$1')->toString(); $prefix = 0; do { $constantName = $translationId.($prefix > 0 ? '_'.$prefix : ''); ++$prefix; - } while ($alreadyGenerated[$constantName] ?? false); + } while ($this->alreadyGeneratedConstants[$constantName] ?? false); - $alreadyGenerated[$constantName] = true; + $this->alreadyGeneratedConstants[$constantName] = true; return $constantName; } diff --git a/src/Translator/tests/CacheWarmer/TranslationsCacheWarmerTest.php b/src/Translator/tests/CacheWarmer/TranslationsCacheWarmerTest.php index d97e49e0967..df83a78ea93 100644 --- a/src/Translator/tests/CacheWarmer/TranslationsCacheWarmerTest.php +++ b/src/Translator/tests/CacheWarmer/TranslationsCacheWarmerTest.php @@ -28,7 +28,7 @@ public static function setUpBeforeClass(): void public static function tearDownAfterClass(): void { - @unlink(self::$cacheDir); + @rmdir(self::$cacheDir); } public function test()