123456789101112131415161718192021222324252627282930313233343536 |
- import os
- from django.conf import settings
- from django.test import TestCase
- from django.urls import reverse
- from django.utils import translation
- MISAGO_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- LOCALES_DIR = os.path.join(MISAGO_DIR, 'locale')
- class JsI18nUrlTests(TestCase):
- def test_url_cache_buster(self):
- """js i18n catalog link has cachebuster with lang code"""
- url = '%s?%s' % (reverse('django-i18n'), settings.LANGUAGE_CODE)
- response = self.client.get(reverse('misago:index'))
- self.assertContains(response, url)
- def test_js_catalogs_are_correct(self):
- """no JS catalogs have showstoppers"""
- failed_languages = []
- for language in os.listdir(LOCALES_DIR):
- if '.' in language:
- continue
- try:
- with translation.override(language):
- response = self.client.get(reverse('django-i18n'))
- if response.status_code != 200:
- failed_languages.append(language)
- except:
- failed_languages.append(language)
- if failed_languages:
- self.fail("JS catalog failed for languages: %s" % (', '.join(failed_languages)))
|