[Python-checkins] r82579 - in python/branches/release31-maint: Lib/test/test_datetime.py

alexander.belopolsky python-checkins at python.org
Mon Jul 5 17:26:36 CEST 2010


Author: alexander.belopolsky
Date: Mon Jul  5 17:26:36 2010
New Revision: 82579

Log:
Merged revisions 82578 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82578 | alexander.belopolsky | 2010-07-05 11:05:33 -0400 (Mon, 05 Jul 2010) | 1 line
  
  Added more tests for utctimetuple()
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Lib/test/test_datetime.py

Modified: python/branches/release31-maint/Lib/test/test_datetime.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test_datetime.py	(original)
+++ python/branches/release31-maint/Lib/test/test_datetime.py	Mon Jul  5 17:26:36 2010
@@ -2738,7 +2738,7 @@
 
     def test_utctimetuple(self):
         class DST(tzinfo):
-            def __init__(self, dstvalue):
+            def __init__(self, dstvalue=0):
                 if isinstance(dstvalue, int):
                     dstvalue = timedelta(minutes=dstvalue)
                 self.dstvalue = dstvalue
@@ -2772,6 +2772,25 @@
             self.assertEqual(d.toordinal() - date(1, 1, 1).toordinal() + 1,
                              t.tm_yday)
             self.assertEqual(0, t.tm_isdst)
+        # For naive datetime, utctimetuple == timetuple except for isdst
+        d = cls(1, 2, 3, 10, 20, 30, 40)
+        t = d.utctimetuple()
+        self.assertEqual(t[:-1], d.timetuple()[:-1])
+        self.assertEqual(0, t.tm_isdst)
+        # Same if utcoffset is None
+        class NOFS(DST):
+            def utcoffset(self, dt):
+                return None
+        d = cls(1, 2, 3, 10, 20, 30, 40, tzinfo=NOFS())
+        t = d.utctimetuple()
+        self.assertEqual(t[:-1], d.timetuple()[:-1])
+        self.assertEqual(0, t.tm_isdst)
+        # Check that bad tzinfo is detected
+        class BOFS(DST):
+            def utcoffset(self, dt):
+                return "EST"
+        d = cls(1, 2, 3, 10, 20, 30, 40, tzinfo=BOFS())
+        self.assertRaises(TypeError, d.utctimetuple)
 
         # At the edges, UTC adjustment can normalize into years out-of-range
         # for a datetime object.  Ensure that a correct timetuple is


More information about the Python-checkins mailing list