IntlExtension > Return empty string when input is null

This commit is contained in:
Ruud Kamphuis
2020-02-13 14:16:23 +01:00
committed by Fabien Potencier
parent 54a87ed247
commit caecd2a528
7 changed files with 42 additions and 6 deletions
+30 -6
View File
@@ -155,8 +155,12 @@ final class IntlExtension extends AbstractExtension
]; ];
} }
public function getCountryName(string $country, string $locale = null): string public function getCountryName(?string $country, string $locale = null): string
{ {
if ($country === null) {
return '';
}
try { try {
return Countries::getName($country, $locale); return Countries::getName($country, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -164,8 +168,12 @@ final class IntlExtension extends AbstractExtension
} }
} }
public function getCurrencyName(string $currency, string $locale = null): string public function getCurrencyName(?string $currency, string $locale = null): string
{ {
if ($currency === null) {
return '';
}
try { try {
return Currencies::getName($currency, $locale); return Currencies::getName($currency, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -173,8 +181,12 @@ final class IntlExtension extends AbstractExtension
} }
} }
public function getCurrencySymbol(string $currency, string $locale = null): string public function getCurrencySymbol(?string $currency, string $locale = null): string
{ {
if ($currency === null) {
return '';
}
try { try {
return Currencies::getSymbol($currency, $locale); return Currencies::getSymbol($currency, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -182,8 +194,12 @@ final class IntlExtension extends AbstractExtension
} }
} }
public function getLanguageName(string $language, string $locale = null): string public function getLanguageName(?string $language, string $locale = null): string
{ {
if ($language === null) {
return '';
}
try { try {
return Languages::getName($language, $locale); return Languages::getName($language, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -191,8 +207,12 @@ final class IntlExtension extends AbstractExtension
} }
} }
public function getLocaleName(string $data, string $locale = null): string public function getLocaleName(?string $data, string $locale = null): string
{ {
if ($data === null) {
return '';
}
try { try {
return Locales::getName($data, $locale); return Locales::getName($data, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -200,8 +220,12 @@ final class IntlExtension extends AbstractExtension
} }
} }
public function getTimezoneName(string $timezone, string $locale = null): string public function getTimezoneName(?string $timezone, string $locale = null): string
{ {
if ($timezone === null) {
return '';
}
try { try {
return Timezones::getName($timezone, $locale); return Timezones::getName($timezone, $locale);
} catch (MissingResourceException $exception) { } catch (MissingResourceException $exception) {
@@ -2,6 +2,7 @@
"country_name" filter "country_name" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|country_name }} {{ 'UNKNOWN'|country_name }}
{{ null|country_name }}
{{ 'FR'|country_name }} {{ 'FR'|country_name }}
{{ 'US'|country_name }} {{ 'US'|country_name }}
{{ 'US'|country_name('fr') }} {{ 'US'|country_name('fr') }}
@@ -10,6 +11,7 @@
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
France France
United States United States
États-Unis États-Unis
@@ -2,6 +2,7 @@
"currency_name" filter "currency_name" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|currency_name }} {{ 'UNKNOWN'|currency_name }}
{{ null|currency_name }}
{{ 'EUR'|currency_name }} {{ 'EUR'|currency_name }}
{{ 'JPY'|currency_name }} {{ 'JPY'|currency_name }}
{{ 'EUR'|currency_name('fr') }} {{ 'EUR'|currency_name('fr') }}
@@ -10,6 +11,7 @@
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
Euro Euro
Japanese Yen Japanese Yen
euro euro
@@ -2,11 +2,13 @@
"currency_symbol" filter "currency_symbol" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|currency_symbol }} {{ 'UNKNOWN'|currency_symbol }}
{{ null|currency_symbol }}
{{ 'EUR'|currency_symbol }} {{ 'EUR'|currency_symbol }}
{{ 'JPY'|currency_symbol }} {{ 'JPY'|currency_symbol }}
--DATA-- --DATA--
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
¥ ¥
@@ -2,6 +2,7 @@
"language_name" filter "language_name" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|language_name }} {{ 'UNKNOWN'|language_name }}
{{ null|language_name }}
{{ 'de'|language_name }} {{ 'de'|language_name }}
{{ 'fr'|language_name }} {{ 'fr'|language_name }}
{{ 'de'|language_name('fr') }} {{ 'de'|language_name('fr') }}
@@ -11,6 +12,7 @@
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
German German
French French
allemand allemand
@@ -2,6 +2,7 @@
"locale_name" filter "locale_name" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|locale_name }} {{ 'UNKNOWN'|locale_name }}
{{ null|locale_name }}
{{ 'de'|locale_name }} {{ 'de'|locale_name }}
{{ 'fr'|locale_name }} {{ 'fr'|locale_name }}
{{ 'de'|locale_name('fr') }} {{ 'de'|locale_name('fr') }}
@@ -11,6 +12,7 @@
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
German German
French French
allemand allemand
@@ -2,6 +2,7 @@
"timezone_name" filter "timezone_name" filter
--TEMPLATE-- --TEMPLATE--
{{ 'UNKNOWN'|timezone_name }} {{ 'UNKNOWN'|timezone_name }}
{{ null|timezone_name }}
{{ 'Europe/Paris'|timezone_name }} {{ 'Europe/Paris'|timezone_name }}
{{ 'America/Los_Angeles'|timezone_name }} {{ 'America/Los_Angeles'|timezone_name }}
{{ 'America/Los_Angeles'|timezone_name('fr') }} {{ 'America/Los_Angeles'|timezone_name('fr') }}
@@ -9,6 +10,7 @@
return []; return [];
--EXPECT-- --EXPECT--
UNKNOWN UNKNOWN
Central European Time (Paris) Central European Time (Paris)
Pacific Time (Los Angeles) Pacific Time (Los Angeles)
heure du Pacifique nord-américain (Los Angeles) heure du Pacifique nord-américain (Los Angeles)