mirror of https://github.com/django/django.git
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
from os import path
|
|
import gettext
|
|
|
|
from django.conf import settings
|
|
from django.test import TestCase
|
|
from django.utils.translation import activate
|
|
|
|
from regressiontests.views.urls import locale_dir
|
|
|
|
class I18NTests(TestCase):
|
|
""" Tests django views in django/views/i18n.py """
|
|
|
|
def test_setlang(self):
|
|
"""The set_language view can be used to change the session language"""
|
|
for lang_code, lang_name in settings.LANGUAGES:
|
|
post_data = dict(language=lang_code, next='/views/')
|
|
response = self.client.post('/views/i18n/setlang/', data=post_data)
|
|
self.assertRedirects(response, 'http://testserver/views/')
|
|
self.assertEquals(self.client.session['django_language'], lang_code)
|
|
|
|
def test_jsi18n(self):
|
|
"""The javascript_catalog can be deployed with language settings"""
|
|
for lang_code in ['es', 'fr', 'en']:
|
|
activate(lang_code)
|
|
catalog = gettext.translation('djangojs', locale_dir, [lang_code])
|
|
trans_txt = catalog.ugettext('this is to be translated')
|
|
response = self.client.get('/views/jsi18n/')
|
|
# in response content must to be a line like that:
|
|
# catalog['this is to be translated'] = 'same_that_trans_txt'
|
|
self.assertContains(response, trans_txt, 1)
|