summaryrefslogtreecommitdiff
path: root/tests/i18n
diff options
context:
space:
mode:
authorKrzysztof Urbaniak <urban@fail.pl>2016-11-05 12:56:34 +0100
committerTim Graham <timograham@gmail.com>2016-11-29 13:06:35 -0500
commitb8a815e9dfea89034ede7ff786551f89af84a31b (patch)
tree94621fb5141e902c0d162209e5d02adb23712da5 /tests/i18n
parentade52ef71f04e57e217585358cb289098260e3ec (diff)
Fixed #27402 -- Fixed incorrect LocaleMiddleware redirects with prefix_default_language=False.
Diffstat (limited to 'tests/i18n')
-rw-r--r--tests/i18n/tests.py14
-rw-r--r--tests/i18n/urls_default_unprefixed.py1
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py
index 38d99fa847..8d8d4c752e 100644
--- a/tests/i18n/tests.py
+++ b/tests/i18n/tests.py
@@ -1860,6 +1860,20 @@ class UnprefixedDefaultLanguageTests(SimpleTestCase):
response = self.client.get('/de-simple-page/')
self.assertEqual(response.content, b'Yes')
+ def test_no_redirect_on_404(self):
+ """
+ A request for a nonexistent URL shouldn't cause a redirect to
+ /<defaut_language>/<request_url> when prefix_default_language=False and
+ /<default_language>/<request_url> has a URL match (#27402).
+ """
+ # A match for /group1/group2/ must exist for this to act as a
+ # regression test.
+ response = self.client.get('/group1/group2/')
+ self.assertEqual(response.status_code, 200)
+
+ response = self.client.get('/nonexistent/')
+ self.assertEqual(response.status_code, 404)
+
@override_settings(
USE_I18N=True,
diff --git a/tests/i18n/urls_default_unprefixed.py b/tests/i18n/urls_default_unprefixed.py
index 92ef8c6246..85f9bf049b 100644
--- a/tests/i18n/urls_default_unprefixed.py
+++ b/tests/i18n/urls_default_unprefixed.py
@@ -6,5 +6,6 @@ from django.utils.translation import ugettext_lazy as _
urlpatterns = i18n_patterns(
url(r'^(?P<arg>[\w-]+)-page', lambda request, **arg: HttpResponse(_("Yes"))),
url(r'^simple/$', lambda r: HttpResponse(_("Yes"))),
+ url(r'^(.+)/(.+)/$', lambda *args: HttpResponse()),
prefix_default_language=False,
)