diff --git a/src/olympia/amo/tests/test_utils_.py b/src/olympia/amo/tests/test_utils_.py index 4b8272d4b5a..e744c919211 100644 --- a/src/olympia/amo/tests/test_utils_.py +++ b/src/olympia/amo/tests/test_utils_.py @@ -3,11 +3,13 @@ import mock import pytest +from django.conf import settings from olympia import amo from olympia.amo.tests import TestCase, addon_factory from olympia.amo.utils import ( - attach_trans_dict, translations_for_field, walkfiles) + attach_trans_dict, translations_for_field, walkfiles, + get_locale_from_lang) from olympia.addons.models import Addon from olympia.versions.models import Version @@ -172,3 +174,9 @@ def bar(self): del foo.bar assert foo.bar == 'original value' assert callme.call_count == 1 + + +@pytest.mark.parametrize('lang', settings.AMO_LANGUAGES) +def test_get_locale_from_lang(lang): + """Make sure all languages in settings.AMO_LANGUAGES can be resolved.""" + get_locale_from_lang(lang) diff --git a/src/olympia/amo/utils.py b/src/olympia/amo/utils.py index a511d414fa6..148f16ecafa 100644 --- a/src/olympia/amo/utils.py +++ b/src/olympia/amo/utils.py @@ -597,7 +597,8 @@ def get_locale_from_lang(lang): # Special fake language can just act like English for formatting and such if not lang or lang == 'dbg': lang = 'en' - return Locale(translation.to_locale(lang)) + + return Locale.parse(translation.to_locale(lang)) class HttpResponseSendFile(http.HttpResponse):