Commit 23f94f07 authored by Claude Paroz's avatar Claude Paroz
Browse files

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

parent 110c7293
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -683,7 +683,7 @@ class HttpResponse(object):
    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
+12 −0
Original line number Diff line number Diff line
# -*- encoding: utf-8 -*-
from __future__ import unicode_literals

import copy
@@ -298,6 +299,17 @@ class HttpResponseTests(unittest.TestCase):
        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):
        """