From 7a97df190cb993056aa097befb3813100cfc286e Mon Sep 17 00:00:00 2001 From: Emil Stenstròˆm Date: Sat, 17 Nov 2012 13:14:12 +0100 Subject: Fixed #19277 -- Added LocaleMiddleware.response_redirect_class Thanks ppetrid at yawd.eu for the suggestion. --- tests/i18n/patterns/tests.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/i18n/patterns/tests.py b/tests/i18n/patterns/tests.py index 85eb7db084..1a8b752e89 100644 --- a/tests/i18n/patterns/tests.py +++ b/tests/i18n/patterns/tests.py @@ -4,6 +4,8 @@ import os from django.core.exceptions import ImproperlyConfigured from django.core.urlresolvers import reverse, clear_url_caches +from django.http import HttpResponsePermanentRedirect +from django.middleware.locale import LocaleMiddleware from django.test import TestCase from django.test.utils import override_settings from django.template import Template, Context @@ -11,6 +13,10 @@ from django.utils._os import upath from django.utils import translation +class PermanentRedirectLocaleMiddleWare(LocaleMiddleware): + response_redirect_class = HttpResponsePermanentRedirect + + @override_settings( USE_I18N=True, LOCALE_PATHS=( @@ -181,6 +187,16 @@ class URLRedirectTests(URLTestCaseBase): response = self.client.get(response['location']) self.assertEqual(response.status_code, 200) + @override_settings( + MIDDLEWARE_CLASSES=( + 'i18n.patterns.tests.PermanentRedirectLocaleMiddleWare', + 'django.middleware.common.CommonMiddleware', + ), + ) + def test_custom_redirect_class(self): + response = self.client.get('/account/register/', HTTP_ACCEPT_LANGUAGE='en') + self.assertRedirects(response, '/en/account/register/', 301) + class URLVaryAcceptLanguageTests(URLTestCaseBase): """ -- cgit v1.3