Commit f08e739b authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #19585 -- Fixed loading cookie value as a dict

This regression was introduced by the 'unicode_literals' patch.
parent 4e2e8f39
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
from __future__ import absolute_import, unicode_literals

from django.utils.encoding import force_str
from django.utils import six
from django.utils.six.moves import http_cookies


@@ -48,7 +49,9 @@ else:
        if not _cookie_allows_colon_in_names:
            def load(self, rawdata):
                self.bad_cookies = set()
                super(SimpleCookie, self).load(force_str(rawdata))
                if not six.PY3 and isinstance(rawdata, six.text_type):
                    rawdata = force_str(rawdata)
                super(SimpleCookie, self).load(rawdata)
                for key in self.bad_cookies:
                    del self[key]

+4 −0
Original line number Diff line number Diff line
@@ -588,3 +588,7 @@ class CookieTests(unittest.TestCase):
        c['name']['httponly'] = True
        self.assertTrue(c['name']['httponly'])

    def test_load_dict(self):
        c = SimpleCookie()
        c.load({'name': 'val'})
        self.assertEqual(c['name'].value, 'val')