mirror of
https://github.com/django/django.git
synced 2025-11-01 12:25:37 +00:00
Fixed #10571 -- Factored out the payload encoding code to make sure it is used for PUT requests. Thanks to kennu for the report, pterk for the patch, and wildfire for the review comments.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16651 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
0f767f9a99
commit
d310f91ee7
2 changed files with 32 additions and 24 deletions
|
|
@ -770,7 +770,9 @@ class RequestMethodStringDataTests(TestCase):
|
|||
|
||||
class QueryStringTests(TestCase):
|
||||
def test_get_like_requests(self):
|
||||
for method_name in ('get','head','options','put','delete'):
|
||||
# See: https://code.djangoproject.com/ticket/10571.
|
||||
# Removed 'put' and 'delete' here as they are 'GET-like requests'
|
||||
for method_name in ('get','head','options'):
|
||||
# A GET-like request can pass a query string as data
|
||||
method = getattr(self.client, method_name)
|
||||
response = method("/test_client_regress/request_data/", data={'foo':'whiz'})
|
||||
|
|
@ -827,6 +829,9 @@ class UnicodePayloadTests(TestCase):
|
|||
response = self.client.post("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json")
|
||||
self.assertEqual(response.content, json)
|
||||
response = self.client.put("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json")
|
||||
self.assertEqual(response.content, json)
|
||||
|
||||
def test_unicode_payload_utf8(self):
|
||||
"A non-ASCII unicode data encoded as UTF-8 can be POSTed"
|
||||
|
|
@ -835,6 +840,9 @@ class UnicodePayloadTests(TestCase):
|
|||
response = self.client.post("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=utf-8")
|
||||
self.assertEqual(response.content, json.encode('utf-8'))
|
||||
response = self.client.put("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=utf-8")
|
||||
self.assertEqual(response.content, json.encode('utf-8'))
|
||||
|
||||
def test_unicode_payload_utf16(self):
|
||||
"A non-ASCII unicode data encoded as UTF-16 can be POSTed"
|
||||
|
|
@ -843,6 +851,9 @@ class UnicodePayloadTests(TestCase):
|
|||
response = self.client.post("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=utf-16")
|
||||
self.assertEqual(response.content, json.encode('utf-16'))
|
||||
response = self.client.put("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=utf-16")
|
||||
self.assertEqual(response.content, json.encode('utf-16'))
|
||||
|
||||
def test_unicode_payload_non_utf(self):
|
||||
"A non-ASCII unicode data as a non-UTF based encoding can be POSTed"
|
||||
|
|
@ -851,6 +862,9 @@ class UnicodePayloadTests(TestCase):
|
|||
response = self.client.post("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=koi8-r")
|
||||
self.assertEqual(response.content, json.encode('koi8-r'))
|
||||
response = self.client.put("/test_client_regress/parse_unicode_json/", json,
|
||||
content_type="application/json; charset=koi8-r")
|
||||
self.assertEqual(response.content, json.encode('koi8-r'))
|
||||
|
||||
class DummyFile(object):
|
||||
def __init__(self, filename):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue