mirror of https://github.com/django/django.git
Reverted 6a64822bf4
.
This commit caused every test that does two or more assertContains to fail, because of #6527. It also made HttpResponse non-pickleable. Refs #13222.
This commit is contained in:
parent
11a4b6d923
commit
ea57112d53
|
@ -260,9 +260,9 @@ class HttpResponse(HttpResponseBase):
|
||||||
else:
|
else:
|
||||||
self._container = [value]
|
self._container = [value]
|
||||||
self._base_content_is_iter = False
|
self._base_content_is_iter = False
|
||||||
self._iterator = iter(self._container)
|
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
|
self._iterator = iter(self._container)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def __next__(self):
|
def __next__(self):
|
||||||
|
@ -284,7 +284,7 @@ class HttpResponse(HttpResponseBase):
|
||||||
def tell(self):
|
def tell(self):
|
||||||
if self._base_content_is_iter:
|
if self._base_content_is_iter:
|
||||||
raise Exception("This %s instance cannot tell its position" % self.__class__.__name__)
|
raise Exception("This %s instance cannot tell its position" % self.__class__.__name__)
|
||||||
return len(self.content)
|
return sum([len(chunk) for chunk in self])
|
||||||
|
|
||||||
|
|
||||||
class StreamingHttpResponse(HttpResponseBase):
|
class StreamingHttpResponse(HttpResponseBase):
|
||||||
|
|
|
@ -330,13 +330,6 @@ class HttpResponseTests(unittest.TestCase):
|
||||||
self.assertRaises(UnicodeEncodeError,
|
self.assertRaises(UnicodeEncodeError,
|
||||||
getattr, r, 'content')
|
getattr, r, 'content')
|
||||||
|
|
||||||
def test_iterator_isnt_rewound(self):
|
|
||||||
# Regression test for #13222
|
|
||||||
r = HttpResponse('abc')
|
|
||||||
i = iter(r)
|
|
||||||
self.assertEqual(list(i), [b'abc'])
|
|
||||||
self.assertEqual(list(i), [])
|
|
||||||
|
|
||||||
def test_file_interface(self):
|
def test_file_interface(self):
|
||||||
r = HttpResponse()
|
r = HttpResponse()
|
||||||
r.write(b"hello")
|
r.write(b"hello")
|
||||||
|
|
Loading…
Reference in New Issue