summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-11-02 20:19:56 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-11-02 20:19:56 (GMT)
commit2cb0e73a89589ce56ba17da39a06f8017cfc92e4 (patch)
tree8180efd154004c2ba0fa67a923e5f4f9a381494c /Lib/test
parent030dbb91a92096c0a7611f2e0c711035622b5669 (diff)
parent8cf7c1cff0f1176387118826fffdf1c517405f3a (diff)
downloadcpython-2cb0e73a89589ce56ba17da39a06f8017cfc92e4.zip
cpython-2cb0e73a89589ce56ba17da39a06f8017cfc92e4.tar.gz
cpython-2cb0e73a89589ce56ba17da39a06f8017cfc92e4.tar.bz2
Issue #22775: Fixed unpickling of http.cookies.SimpleCookie with protocol 2
and above. Patch by Tim Graham.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/pickletester.py2
-rw-r--r--Lib/test/test_http_cookies.py15
2 files changed, 15 insertions, 2 deletions
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index a2bea60..5963175 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -1284,7 +1284,7 @@ class AbstractPickleTests(unittest.TestCase):
loaded = self.loads(DATA5)
self.assertEqual(type(loaded), SimpleCookie)
self.assertEqual(list(loaded.keys()), ["key"])
- self.assertEqual(loaded["key"].value, "Set-Cookie: key=value")
+ self.assertEqual(loaded["key"].value, "value")
for (exc, data) in DATA7.items():
loaded = self.loads(data)
diff --git a/Lib/test/test_http_cookies.py b/Lib/test/test_http_cookies.py
index 76e5e9c..2b0281e 100644
--- a/Lib/test/test_http_cookies.py
+++ b/Lib/test/test_http_cookies.py
@@ -3,7 +3,7 @@
from test.support import run_unittest, run_doctest, check_warnings
import unittest
from http import cookies
-
+import pickle
import warnings
class CookieTests(unittest.TestCase):
@@ -187,6 +187,19 @@ class CookieTests(unittest.TestCase):
self.assertEqual(dict(C), {})
self.assertEqual(C.output(), '')
+ def test_pickle(self):
+ rawdata = 'Customer="WILE_E_COYOTE"; Path=/acme; Version=1'
+ expected_output = 'Set-Cookie: %s' % rawdata
+
+ C = cookies.SimpleCookie()
+ C.load(rawdata)
+ self.assertEqual(C.output(), expected_output)
+
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ with self.subTest(proto=proto):
+ C1 = pickle.loads(pickle.dumps(C, protocol=proto))
+ self.assertEqual(C1.output(), expected_output)
+
class MorselTests(unittest.TestCase):
"""Tests for the Morsel object."""