Commits

Alexander Belopolsky committed 085e0dd

Issue #10939: Fixed imaplib.Internaldate2tuple(). Thanks Joe Peterson
for the report and the patch. Reviewed by Georg Brandl.

  • Participants
  • Parent commits d7cd1b6

Comments (0)

Files changed (3)

File Lib/imaplib.py

 
 
 
-Mon2num = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,
-        'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}
+Mon2num = {b'Jan': 1, b'Feb': 2, b'Mar': 3, b'Apr': 4, b'May': 5, b'Jun': 6,
+           b'Jul': 7, b'Aug': 8, b'Sep': 9, b'Oct': 10, b'Nov': 11, b'Dec': 12}
 
 def Internaldate2tuple(resp):
     """Parse an IMAP4 INTERNALDATE string.
     # INTERNALDATE timezone must be subtracted to get UT
 
     zone = (zoneh*60 + zonem)*60
-    if zonen == '-':
+    if zonen == b'-':
         zone = -zone
 
     tt = (year, mon, day, hour, min, sec, -1, -1, -1)

File Lib/test/test_imaplib.py

 
 class TestImaplib(unittest.TestCase):
 
+    def test_Internaldate2tuple(self):
+        tt = imaplib.Internaldate2tuple(
+            b'25 (INTERNALDATE "01-Jan-1970 00:00:00 +0000")')
+        self.assertEqual(time.mktime(tt), 0)
+        tt = imaplib.Internaldate2tuple(
+            b'25 (INTERNALDATE "01-Jan-1970 11:30:00 +1130")')
+        self.assertEqual(time.mktime(tt), 0)
+        tt = imaplib.Internaldate2tuple(
+            b'25 (INTERNALDATE "31-Dec-1969 12:30:00 -1130")')
+        self.assertEqual(time.mktime(tt), 0)
+
     def test_that_Time2Internaldate_returns_a_result(self):
         # We can check only that it successfully produces a result,
         # not the correctness of the result itself, since the result
 Gabriel de Perthuis
 Tim Peters
 Benjamin Peterson
+Joe Peterson
 Chris Petrilli
 Bjorn Pettersen
 Geoff Philbrick