From 2533429a4b6bdeb3a21a21fc8efb675b19b71289 Mon Sep 17 00:00:00 2001 From: bestpantusen Date: Wed, 4 Dec 2024 20:03:19 -0500 Subject: [PATCH 1/2] add handling of None value for locale by using the default locale --- babel/numbers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/babel/numbers.py b/babel/numbers.py index 624e8d61e..e39a13d37 100644 --- a/babel/numbers.py +++ b/babel/numbers.py @@ -774,6 +774,8 @@ def format_currency( locale=locale, currency_digits=currency_digits, decimal_quantization=decimal_quantization, group_separator=group_separator, numbering_system=numbering_system) + if locale is None: + locale = default_locale() locale = Locale.parse(locale) if format: pattern = parse_pattern(format) From 376005248ee71d3472a04b2d2a82e7279155fdf2 Mon Sep 17 00:00:00 2001 From: bestpantusen Date: Wed, 4 Dec 2024 20:03:34 -0500 Subject: [PATCH 2/2] Add tests for format_currency with None locale --- tests/test_numbers.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_numbers.py b/tests/test_numbers.py index 106b83edf..a1d041c37 100644 --- a/tests/test_numbers.py +++ b/tests/test_numbers.py @@ -485,6 +485,11 @@ def test_format_currency(): assert (numbers.format_currency(0, 'USD', locale='es_AR') == 'US$0,00') # other +def test_format_currency_with_none_locale(): + assert (numbers.format_currency(0, "USD", locale=None) + == "0,00\xa0$US") + assert (numbers.format_currency(1099.98, "EUR", locale=None) + == "1\u202f099,98\xa0€") def test_format_currency_format_type(): assert (numbers.format_currency(1099.98, 'USD', locale='en_US',