]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #27466: Change time format returned by http.cookie.time2netscape,
authorSenthil Kumaran <senthil@uthcode.com>
Sun, 10 Jul 2016 13:45:38 +0000 (06:45 -0700)
committerSenthil Kumaran <senthil@uthcode.com>
Sun, 10 Jul 2016 13:45:38 +0000 (06:45 -0700)
confirming the netscape cookie format.

Lib/http/cookiejar.py
Lib/test/test_http_cookiejar.py
Misc/NEWS

index 265ccf99f285374b64724c399ebdcd992c023dcd..4466d2ece0d65aadeeab97e4156dc0d517c62c48 100644 (file)
@@ -120,7 +120,7 @@ def time2netscape(t=None):
         dt = datetime.datetime.utcnow()
     else:
         dt = datetime.datetime.utcfromtimestamp(t)
-    return "%s %02d-%s-%04d %02d:%02d:%02d GMT" % (
+    return "%s, %02d-%s-%04d %02d:%02d:%02d GMT" % (
         DAYS[dt.weekday()], dt.day, MONTHS[dt.month-1],
         dt.year, dt.hour, dt.minute, dt.second)
 
index 585838bd6c19033015e64fa9f3513fbdff124266..a7826087a60e4bb34d41fab21120f8a70baa7248 100644 (file)
@@ -31,6 +31,28 @@ class DateTimeTests(unittest.TestCase):
             self.assertRegex(text, r"^\d{4}-\d\d-\d\d \d\d:\d\d:\d\dZ$",
                              "bad time2isoz format: %s %s" % (az, bz))
 
+    def test_time2netscape(self):
+        base = 1019227000
+        day = 24*3600
+        self.assertEqual(time2netscape(base), "Fri, 19-Apr-2002 14:36:40 GMT")
+        self.assertEqual(time2netscape(base+day),
+                         "Sat, 20-Apr-2002 14:36:40 GMT")
+
+        self.assertEqual(time2netscape(base+2*day),
+                         "Sun, 21-Apr-2002 14:36:40 GMT")
+
+        self.assertEqual(time2netscape(base+3*day),
+                         "Mon, 22-Apr-2002 14:36:40 GMT")
+
+        az = time2netscape()
+        bz = time2netscape(500000)
+        for text in (az, bz):
+            # Format "%s, %02d-%s-%04d %02d:%02d:%02d GMT"
+            self.assertRegex(
+                text,
+                r"[a-zA-Z]{3}, \d{2}-[a-zA-Z]{3}-\d{4} \d{2}:\d{2}:\d{2} GMT$",
+                "bad time2netscape format: %s %s" % (az, bz))
+
     def test_http2time(self):
         def parse_date(text):
             return time.gmtime(http2time(text))[:6]
index 8c92c38d96dbdab035803c5153a8a68cf56b7d68..12d0d45fb5fb2988989d42e146a13f2043d901c8 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -16,6 +16,10 @@ Core and Builtins
 Library
 -------
 
+- Issue #27466: Change time format returned by http.cookie.time2netscape,
+  confirming the netscape cookie format and making it consistent with
+  documentation.
+
 - Issue #26664: Fix activate.fish by removing mis-use of ``$``.
 
 - Issue #22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong