test_momentjs.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from django.test import override_settings
  2. from ..momentjs import clean_language_name, get_locale_url
  3. def test_django_language_code_is_cleaned_for_moment_js():
  4. assert clean_language_name("en", ["en"]) == "en"
  5. def test_two_part_django_language_code_is_cleaned_for_moment_js():
  6. assert clean_language_name("en_us", ["en-us"]) == "en-us"
  7. def test_two_part_django_language_code_is_fallbacked_to_single_part_code():
  8. assert clean_language_name("en_us", ["en", "en-uk"]) == "en"
  9. def test_django_language_code_cleanup_is_case_insensitive():
  10. assert clean_language_name("en_US", ["en-us"]) == "en-us"
  11. def test_django_language_code_is_cleaned_to_none_if_translation_is_not_available():
  12. assert clean_language_name("pl", ["en"]) is None
  13. def test_locale_url_getter_uses_passed_locales_list():
  14. with override_settings(MISAGO_MOMENT_JS_LOCALES=["en-us"]):
  15. assert get_locale_url("en_us", locales=["en"]).endswith("en.js")
  16. def test_locale_url_getter_fallbacks_to_locales_setting_if_locales_kwarg_is_not_set():
  17. with override_settings(MISAGO_MOMENT_JS_LOCALES=["en-us"]):
  18. assert get_locale_url("en_us").endswith("en-us.js")
  19. def test_locale_url_getter_uses_passed_static_path_template():
  20. locale_url = get_locale_url(
  21. "en_us", static_path_template="test/%s", locales=["en-us"]
  22. )
  23. assert locale_url == "test/en-us"
  24. def test_locale_url_getter_returns_none_for_unsupported_locale():
  25. assert get_locale_url("pl", locales=["en"]) is None