Fixed #24476 -- Added context manager/decorator for overriding script prefix.

Tests were using an undocumented keyword argument for easily overriding
script prefix while reversing. This is now changed into a test utility
which can be used as decorator or context manager.
This commit is contained in:
Bas Peschier 2015-03-15 11:26:47 +01:00 committed by Tim Graham
parent 6bff343989
commit 0339844b70
6 changed files with 54 additions and 45 deletions

View file

@ -3,8 +3,8 @@
from __future__ import unicode_literals
from django.contrib.flatpages.models import FlatPage
from django.core.urlresolvers import clear_script_prefix, set_script_prefix
from django.test import TestCase
from django.test.utils import override_script_prefix
class FlatpageModelTests(TestCase):
@ -13,10 +13,7 @@ class FlatpageModelTests(TestCase):
pf = FlatPage(title="Café!", url='/café/')
self.assertEqual(pf.get_absolute_url(), '/caf%C3%A9/')
@override_script_prefix('/beverages/')
def test_get_absolute_url_honors_script_prefix(self):
pf = FlatPage(title="Tea!", url='/tea/')
set_script_prefix('/beverages/')
try:
self.assertEqual(pf.get_absolute_url(), '/beverages/tea/')
finally:
clear_script_prefix()
self.assertEqual(pf.get_absolute_url(), '/beverages/tea/')