Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #18561 -- Made HttpResponse.tell() support non-ascii chars

  • Loading branch information...
commit 23f94f0741100233862922a8e77a3ac9dc1833e9 1 parent 110c729
@claudep claudep authored
View
2  django/http/__init__.py
@@ -683,7 +683,7 @@ def flush(self):
def tell(self):
if self._base_content_is_iter:
raise Exception("This %s instance cannot tell its position" % self.__class__)
- return sum([len(str(chunk)) for chunk in self._container])
+ return sum([len(chunk) for chunk in self])
class HttpResponseRedirect(HttpResponse):
status_code = 302
View
12 tests/regressiontests/httpwrappers/tests.py
@@ -1,3 +1,4 @@
+# -*- encoding: utf-8 -*-
from __future__ import unicode_literals
import copy
@@ -298,6 +299,17 @@ def test_iter_content(self):
self.assertRaises(UnicodeEncodeError,
getattr, r, 'content')
+ def test_file_interface(self):
+ r = HttpResponse()
+ r.write(b"hello")
+ self.assertEqual(r.tell(), 5)
+ r.write("привет")
+ self.assertEqual(r.tell(), 17)
+
+ r = HttpResponse(['abc'])
+ self.assertRaises(Exception, r.write, 'def')
+
+
class CookieTests(unittest.TestCase):
def test_encode(self):
"""

0 comments on commit 23f94f0

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