Skip to content
Browse files

Merge pull request #1178 from bmispelon/master

Fix for test failure introduced by 980ae2a.
  • Loading branch information...
2 parents c0719d0 + 3cb1e9b commit a4ab0e8b8648cd4d2dd58396aaccf2be4c23dd85 @freakboy3742 freakboy3742 committed
Showing with 9 additions and 4 deletions.
  1. +9 −4 django/contrib/auth/tests/
13 django/contrib/auth/tests/
@@ -58,15 +58,20 @@ def assertFormError(self, response, error):
form_errors = list(itertools.chain(*response.context['form'].errors.values()))
self.assertIn(force_text(error), form_errors)
- def assertURLEqual(self, url, expected):
+ def assertURLEqual(self, url, expected, parse_qs=False):
Given two URLs, make sure all their components (the ones given by
urlparse) are equal, only comparing components that are present in both
+ If `parse_qs` is True, then the querystrings are parsed with QueryDict.
+ This is useful if you don't want the order of parameters to matter.
+ Otherwise, the query strings are compared as-is.
fields = ParseResult._fields
for attr, x, y in zip(fields, urlparse(url), urlparse(expected)):
+ if parse_qs and attr == 'query':
+ x, y = QueryDict(x), QueryDict(y)
if x and y and x != y:"%r != %r (%s doesn't match)" % (url, expected, attr))
@@ -459,10 +464,10 @@ def test_login_form_contains_request(self):
class LoginURLSettings(AuthViewsTestCase):
"""Tests for settings.LOGIN_URL."""
- def assertLoginURLEquals(self, url):
+ def assertLoginURLEquals(self, url, parse_qs=False):
response = self.client.get('/login_required/')
self.assertEqual(response.status_code, 302)
- self.assertURLEqual(response.url, url)
+ self.assertURLEqual(response.url, url, parse_qs=parse_qs)
def test_standard_login_url(self):
@@ -486,7 +491,7 @@ def test_https_login_url(self):
def test_login_url_with_querystring(self):
- self.assertLoginURLEquals('/login/?pretty=1&next=/login_required/')
+ self.assertLoginURLEquals('/login/?pretty=1&next=/login_required/', parse_qs=True)
def test_remote_login_url_with_next_querystring(self):

0 comments on commit a4ab0e8

Please sign in to comment.
Something went wrong with that request. Please try again.