diff options
| author | Duncan Parkes <duncan@mysociety.org> | 2014-06-08 00:47:43 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-06-24 22:03:22 -0400 |
| commit | fd4ccd045cf8edf0bf10ee0c576c7b7c5819170c (patch) | |
| tree | 6a5573e8995b7f9abb722bb46e4dd75ff3d8add6 /tests | |
| parent | d68987ae25f0e0fb30727473803758af53d75671 (diff) | |
Fixed #22799 -- Made GET and POST on HttpRequest QueryDicts, and FILES a MultiValueDict.
Previously, GET, POST, and FILES on an HttpRequest were created in
the __init__ method as dictionaries. This was not something you would
usually notice causing trouble in production as you'd only see a
WSGIRequest, but in testing using the test client, calling .getlist
on GET, POST, or FILES for a request with no get/post data resulted in
an AttributeError.
Changed GET and POST on an HttpRequest object to be mutable
QueryDicts (mutable because the Django tests, and probably many
third party tests, were expecting it).
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/requests/tests.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/requests/tests.py b/tests/requests/tests.py index 3f30f75eea..b778fe3718 100644 --- a/tests/requests/tests.py +++ b/tests/requests/tests.py @@ -27,6 +27,13 @@ class RequestsTests(SimpleTestCase): self.assertEqual(list(request.COOKIES.keys()), []) self.assertEqual(list(request.META.keys()), []) + # .GET and .POST should be QueryDicts + self.assertEqual(request.GET.urlencode(), '') + self.assertEqual(request.POST.urlencode(), '') + + # and FILES should be MultiValueDict + self.assertEqual(request.FILES.getlist('foo'), []) + def test_httprequest_repr(self): request = HttpRequest() request.path = '/somepath/' |
