diff options
| author | Bas Peschier <basp@fabrique.nl> | 2015-03-15 11:26:47 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-03-18 13:03:25 -0400 |
| commit | 0339844b70895d6162b4595ae615e6edf843c6cd (patch) | |
| tree | b4412df41361415c9800756e90ca117a3389fa71 /tests/urlpatterns_reverse | |
| parent | 6bff3439894ac22d80f270f36513fc86586273f3 (diff) | |
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.
Diffstat (limited to 'tests/urlpatterns_reverse')
| -rw-r--r-- | tests/urlpatterns_reverse/tests.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index 28f4ff4d0b..4e2fcd3a31 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -24,6 +24,7 @@ from django.shortcuts import redirect from django.test import ( SimpleTestCase, TestCase, ignore_warnings, override_settings, ) +from django.test.utils import override_script_prefix from django.utils import six from django.utils.deprecation import RemovedInDjango20Warning @@ -199,33 +200,38 @@ class URLPatternReverse(TestCase): # Reversing None should raise an error, not return the last un-named view. self.assertRaises(NoReverseMatch, reverse, None) + @override_script_prefix('/{{invalid}}/') def test_prefix_braces(self): self.assertEqual( '/%7B%7Binvalid%7D%7D/includes/non_path_include/', - reverse('non_path_include', prefix='/{{invalid}}/') + reverse('non_path_include') ) def test_prefix_parenthesis(self): # Parentheses are allowed and should not cause errors or be escaped - self.assertEqual( - '/bogus)/includes/non_path_include/', - reverse('non_path_include', prefix='/bogus)/') - ) - self.assertEqual( - '/(bogus)/includes/non_path_include/', - reverse('non_path_include', prefix='/(bogus)/') - ) + with override_script_prefix('/bogus)/'): + self.assertEqual( + '/bogus)/includes/non_path_include/', + reverse('non_path_include') + ) + with override_script_prefix('/(bogus)/'): + self.assertEqual( + '/(bogus)/includes/non_path_include/', + reverse('non_path_include') + ) + @override_script_prefix('/bump%20map/') def test_prefix_format_char(self): self.assertEqual( '/bump%2520map/includes/non_path_include/', - reverse('non_path_include', prefix='/bump%20map/') + reverse('non_path_include') ) + @override_script_prefix('/%7Eme/') def test_non_urlsafe_prefix_with_args(self): # Regression for #20022, adjusted for #24013 because ~ is an unreserved # character. Tests whether % is escaped. - self.assertEqual('/%257Eme/places/1/', reverse('places', args=[1], prefix='/%7Eme/')) + self.assertEqual('/%257Eme/places/1/', reverse('places', args=[1])) def test_patterns_reported(self): # Regression for #17076 @@ -240,9 +246,10 @@ class URLPatternReverse(TestCase): # exception self.fail("Expected a NoReverseMatch, but none occurred.") + @override_script_prefix('/script:name/') def test_script_name_escaping(self): self.assertEqual( - reverse('optional', args=['foo:bar'], prefix='/script:name/'), + reverse('optional', args=['foo:bar']), '/script:name/optional/foo:bar/' ) |
