diff options
| author | Krzysztof Urbaniak <urban@fail.pl> | 2016-02-29 09:24:19 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-03-08 08:14:10 -0500 |
| commit | 839a955d08fa0657622ed9b60fdd262658fa659f (patch) | |
| tree | eb671debf7695b40d27da97946ab0d9479d68566 /tests | |
| parent | 4b129ac81f4fa38004950d0b307f81d1e9b44af8 (diff) | |
Fixed #25933 -- Allowed an unprefixed default language in i18n_patterns().
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/i18n/tests.py | 32 | ||||
| -rw-r--r-- | tests/i18n/urls_default_unprefixed.py | 9 |
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py index 05c7828430..ba5127f2ea 100644 --- a/tests/i18n/tests.py +++ b/tests/i18n/tests.py @@ -13,6 +13,7 @@ from unittest import skipUnless from django import forms from django.conf import settings +from django.conf.urls.i18n import i18n_patterns from django.template import Context, Template, TemplateSyntaxError from django.test import ( RequestFactory, SimpleTestCase, TestCase, override_settings, @@ -1784,6 +1785,37 @@ class LocaleMiddlewareTests(TestCase): @override_settings( USE_I18N=True, LANGUAGES=[ + ('en', 'English'), + ('fr', 'French'), + ], + MIDDLEWARE_CLASSES=[ + 'django.middleware.locale.LocaleMiddleware', + 'django.middleware.common.CommonMiddleware', + ], + ROOT_URLCONF='i18n.urls_default_unprefixed', + LANGUAGE_CODE='en', +) +class UnprefixedDefaultLanguageTests(SimpleTestCase): + def test_default_lang_without_prefix(self): + """ + With i18n_patterns(..., prefix_default_language=False), the default + language (settings.LANGUAGE_CODE) should be accessible without a prefix. + """ + response = self.client.get('/simple/') + self.assertEqual(response.content, b'Yes') + + def test_other_lang_with_prefix(self): + response = self.client.get('/fr/simple/') + self.assertEqual(response.content, b'Oui') + + def test_unexpected_kwarg_to_i18n_patterns(self): + with self.assertRaisesMessage(AssertionError, "Unexpected kwargs for i18n_patterns(): {'foo':"): + i18n_patterns(object(), foo='bar') + + +@override_settings( + USE_I18N=True, + LANGUAGES=[ ('bg', 'Bulgarian'), ('en-us', 'English'), ('pt-br', 'Portuguese (Brazil)'), diff --git a/tests/i18n/urls_default_unprefixed.py b/tests/i18n/urls_default_unprefixed.py new file mode 100644 index 0000000000..8cadbfaa73 --- /dev/null +++ b/tests/i18n/urls_default_unprefixed.py @@ -0,0 +1,9 @@ +from django.conf.urls import url +from django.conf.urls.i18n import i18n_patterns +from django.http import HttpResponse +from django.utils.translation import ugettext_lazy as _ + +urlpatterns = i18n_patterns( + url(r'^simple/$', lambda r: HttpResponse(_("Yes"))), + prefix_default_language=False, +) |
