File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -68,7 +68,8 @@ public static function getDefaultFallback(): ?string
6868 public static function getFallback (string $ locale ): ?string
6969 {
7070 if (\function_exists ('locale_parse ' )) {
71- $ localeSubTags = locale_parse ($ locale );
71+ $ localeSubTags = locale_parse ($ locale ) ?? ['language ' => $ locale ];
72+
7273 if (1 === \count ($ localeSubTags )) {
7374 if ('root ' !== self ::$ defaultFallback && self ::$ defaultFallback === $ localeSubTags ['language ' ]) {
7475 return 'root ' ;
Original file line number Diff line number Diff line change @@ -70,4 +70,16 @@ public function testDefaultRootFallback()
7070
7171 Locale::setDefaultFallback ($ prev );
7272 }
73+
74+ /**
75+ * @requires function locale_parse
76+ */
77+ public function testLongLocaleFallback ()
78+ {
79+ $ locale = 'LC_TYPE=fr_FR.UTF-8;LC_NUMERIC=C;LC_TIME=fr_FR.UTF-8;LC_COLLATE=fr_FR.UTF-8; ' .
80+ 'LC_MONETARY=fr_FR.UTF-8;LC_MESSAGES=fr_FR.UTF-8;LC_PAPER=fr_FR.UTF-8;LC_NAME=fr_FR.UTF-8; ' .
81+ 'LC_ADDRESS=fr_FR.UTF-8;LC_TELEPHONE=fr_FR.UTF-8;LC_MEASUREMENT=fr_FR.UTF-8;LC_IDENTIFICATION=fr_FR.UTF-8 ' ;
82+
83+ $ this ->assertNull (Locale::getFallback ($ locale ));
84+ }
7385}
You can’t perform that action at this time.
0 commit comments