summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2010-12-13 13:52:52 +0000
committerJannis Leidel <jannis@leidel.info>2010-12-13 13:52:52 +0000
commit6ec348fb41114ef4bd39c24de9ba089d44187b0c (patch)
tree1cf534e28908d5b6ba3bf4a8f695b44448dc9fe3 /tests
parent2478f8588e4ed3164a05246f28cc02e5850dd0b8 (diff)
Fixed #13726 -- Further refine changes made in r12384 and r13069 for using non-English source languages in JavaScript translation catalogues. Thanks, Ramiro.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14901 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/views/app0/__init__.py1
-rw-r--r--tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.mobin0 -> 482 bytes
-rw-r--r--tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.po20
-rw-r--r--tests/regressiontests/views/tests/i18n.py22
-rw-r--r--tests/regressiontests/views/urls.py6
5 files changed, 45 insertions, 4 deletions
diff --git a/tests/regressiontests/views/app0/__init__.py b/tests/regressiontests/views/app0/__init__.py
new file mode 100644
index 0000000000..792d600548
--- /dev/null
+++ b/tests/regressiontests/views/app0/__init__.py
@@ -0,0 +1 @@
+#
diff --git a/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.mo b/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.mo
new file mode 100644
index 0000000000..662204a6d7
--- /dev/null
+++ b/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.mo
Binary files differ
diff --git a/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.po b/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.po
new file mode 100644
index 0000000000..a458935f96
--- /dev/null
+++ b/tests/regressiontests/views/app0/locale/en/LC_MESSAGES/djangojs.po
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-15 19:15+0200\n"
+"PO-Revision-Date: 2010-05-12 12:41-0300\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "il faut traduire cette chaîne de caractères de app0"
+msgstr "this app0 string is to be translated"
diff --git a/tests/regressiontests/views/tests/i18n.py b/tests/regressiontests/views/tests/i18n.py
index de023be444..f0b3dc57ec 100644
--- a/tests/regressiontests/views/tests/i18n.py
+++ b/tests/regressiontests/views/tests/i18n.py
@@ -43,9 +43,12 @@ class JsI18NTests(TestCase):
def setUp(self):
self.old_language_code = settings.LANGUAGE_CODE
+ self.old_installed_apps = settings.INSTALLED_APPS
def tearDown(self):
+ deactivate()
settings.LANGUAGE_CODE = self.old_language_code
+ settings.INSTALLED_APPS = self.old_installed_apps
def test_jsi18n_with_missing_en_files(self):
"""
@@ -75,14 +78,26 @@ class JsI18NTests(TestCase):
def testI18NLanguageNonEnglishDefault(self):
"""
Check if the Javascript i18n view returns an empty language catalog
- if the default language is non-English but the selected language
- is English. See #13388 and #3594 for more details.
+ if the default language is non-English, the selected language
+ is English and there is not 'en' translation available. See #13388,
+ #3594 and #13726 for more details.
"""
settings.LANGUAGE_CODE = 'fr'
activate('en-us')
response = self.client.get('/views/jsi18n/')
self.assertNotContains(response, 'Choisir une heure')
- deactivate()
+
+ def test_nonenglish_default_english_userpref(self):
+ """
+ Same as above with the difference that there IS an 'en' translation
+ available. The Javascript i18n view must return a NON empty language catalog
+ with the proper English translations. See #13726 for more details.
+ """
+ settings.LANGUAGE_CODE = 'fr'
+ settings.INSTALLED_APPS = list(settings.INSTALLED_APPS) + ['regressiontests.views.app0']
+ activate('en-us')
+ response = self.client.get('/views/jsi18n_english_translation/')
+ self.assertContains(response, javascript_quote('this app0 string is to be translated'))
def testI18NLanguageNonEnglishFallback(self):
"""
@@ -93,7 +108,6 @@ class JsI18NTests(TestCase):
activate('none')
response = self.client.get('/views/jsi18n/')
self.assertContains(response, 'Choisir une heure')
- deactivate()
class JsI18NTestsMultiPackage(TestCase):
diff --git a/tests/regressiontests/views/urls.py b/tests/regressiontests/views/urls.py
index d1412cdeff..0b46d115bf 100644
--- a/tests/regressiontests/views/urls.py
+++ b/tests/regressiontests/views/urls.py
@@ -16,6 +16,11 @@ js_info_dict = {
'packages': ('regressiontests.views',),
}
+js_info_dict_english_translation = {
+ 'domain': 'djangojs',
+ 'packages': ('regressiontests.views.app0',),
+}
+
js_info_dict_multi_packages1 = {
'domain': 'djangojs',
'packages': ('regressiontests.views.app1', 'regressiontests.views.app2'),
@@ -56,6 +61,7 @@ urlpatterns = patterns('',
# i18n views
(r'^i18n/', include('django.conf.urls.i18n')),
(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
+ (r'^jsi18n_english_translation/$', 'django.views.i18n.javascript_catalog', js_info_dict_english_translation),
(r'^jsi18n_multi_packages1/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages1),
(r'^jsi18n_multi_packages2/$', 'django.views.i18n.javascript_catalog', js_info_dict_multi_packages2),