Browse files

Fixed #17555 -- Added support for a missing trailing slash when redir…

…ecting based on the browser language. Thanks, neaf.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17443 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 878cc62 commit ef4d84d11ab9357d9c6e35b2a3a0a9d4fb310075 @jezdez jezdez committed Feb 4, 2012
Showing with 13 additions and 1 deletion.
  1. +1 −1 django/utils/translation/trans_real.py
  2. +12 −0 tests/regressiontests/i18n/tests.py
View
2 django/utils/translation/trans_real.py
@@ -38,7 +38,7 @@
(?:\s*,\s*|$) # Multiple accepts per header.
''', re.VERBOSE)
-language_code_prefix_re = re.compile(r'^/([\w-]+)/')
+language_code_prefix_re = re.compile(r'^/([\w-]+)(/|$)')
def to_locale(language, to_lower=False):
"""
View
12 tests/regressiontests/i18n/tests.py
@@ -793,6 +793,18 @@ def test_parse_language_cookie(self):
r.META = {'HTTP_ACCEPT_LANGUAGE': 'de'}
self.assertEqual(g(r), 'zh-cn')
+ def test_get_language_from_path(self):
+ from django.utils.translation.trans_real import get_language_from_path as g
+ self.assertEqual(g('/pl/'), 'pl')
+ self.assertEqual(g('/pl'), 'pl')
+ self.assertEqual(g('/xyz/'), None)
+
+ def test_get_language_from_path(self):
+ from django.utils.translation.trans_null import get_language_from_path as g
+ self.assertEqual(g('/pl/'), None)
+ self.assertEqual(g('/pl'), None)
+ self.assertEqual(g('/xyz/'), None)
+
def test_percent_in_translatable_block(self):
extended_locale_paths = settings.LOCALE_PATHS + (
os.path.join(here, 'other', 'locale'),

0 comments on commit ef4d84d

Please sign in to comment.