mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #5789 -- Changed LocaleMiddleware session variable to '_language'.
The old 'django_language' variable will still be read from in order to migrate users. The backwards-compatability shim will be removed in Django 1.8. Thanks to jdunck for the report and stugots for the initial patch.
This commit is contained in:
committed by
Tim Graham
parent
8e2029f8dd
commit
0d0f4f020a
@@ -1190,17 +1190,39 @@ class LocaleMiddlewareTests(TransRealMixin, TestCase):
|
||||
|
||||
# Clear the session data before request
|
||||
session.save()
|
||||
self.client.get('/en/simple/')
|
||||
self.assertEqual(self.client.session['django_language'], 'en')
|
||||
response = self.client.get('/en/simple/')
|
||||
self.assertEqual(self.client.session['_language'], 'en')
|
||||
|
||||
# Clear the session data before request
|
||||
session.save()
|
||||
self.client.get('/fr/simple/')
|
||||
self.assertEqual(self.client.session['django_language'], 'fr')
|
||||
response = self.client.get('/fr/simple/')
|
||||
self.assertEqual(self.client.session['_language'], 'fr')
|
||||
|
||||
# Check that language is not changed in session
|
||||
self.client.get('/en/simple/')
|
||||
self.assertEqual(self.client.session['django_language'], 'fr')
|
||||
response = self.client.get('/en/simple/')
|
||||
self.assertEqual(self.client.session['_language'], 'fr')
|
||||
|
||||
@override_settings(
|
||||
MIDDLEWARE_CLASSES=(
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
),
|
||||
)
|
||||
def test_backwards_session_language(self):
|
||||
"""
|
||||
Check that language is stored in session if missing.
|
||||
"""
|
||||
# Create session with old language key name
|
||||
engine = import_module(settings.SESSION_ENGINE)
|
||||
session = engine.SessionStore()
|
||||
session['django_language'] = 'en'
|
||||
session.save()
|
||||
self.client.cookies[settings.SESSION_COOKIE_NAME] = session.session_key
|
||||
|
||||
# request other language; should default to old language key value
|
||||
response = self.client.get('/fr/simple/')
|
||||
self.assertEqual(self.client.session['_language'], 'en')
|
||||
|
||||
|
||||
@override_settings(
|
||||
|
||||
Reference in New Issue
Block a user