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) 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',