[Zope-Checkins] CVS: Zope/lib/python/DateTime/tests - testDateTime.py:1.19.20.1

Lennart Regebro lennart@torped.se
Thu, 16 Jan 2003 11:30:07 -0500


Update of /cvs-repository/Zope/lib/python/DateTime/tests
In directory cvs.zope.org:/tmp/cvs-serv13745/lib/python/DateTime/tests

Modified Files:
      Tag: regebro-collector_740-branch
	testDateTime.py 
Log Message:
#740: _tzoffset handled positive numerical offsets incorrectly. This has been fixed. A large set of tests for different cases has been added, and for the purpose of those tests DateTime has a new feature: A tzoffset() method.

=== Zope/lib/python/DateTime/tests/testDateTime.py 1.19 => 1.19.20.1 ===
--- Zope/lib/python/DateTime/tests/testDateTime.py:1.19	Tue Oct 29 14:08:40 2002
+++ Zope/lib/python/DateTime/tests/testDateTime.py	Thu Jan 16 11:30:04 2003
@@ -212,9 +212,39 @@
 
     def test_tzoffset(self):
         '''Test time-zone given as an offset'''
+
+        # GMT
+        dt = DateTime('Tue, 10 Sep 2001 09:41:03 GMT')
+        self.assertEqual(dt.tzoffset(), 0)
+
+        # Timezone by name, a timezone that hasn't got daylightsaving.
+        dt = DateTime('Tue, 2 Mar 2001 09:41:03 GMT+3')
+        self.assertEqual(dt.tzoffset(), 10800)
+
+        # Timezone by name, has daylightsaving but is not in effect.
+        dt = DateTime('Tue, 21 Jan 2001 09:41:03 PST')
+        self.assertEqual(dt.tzoffset(), -28800)
+
+        # Timezone by name, with daylightsaving in effect
+        dt = DateTime('Tue, 24 Aug 2001 09:41:03 PST')
+        self.assertEqual(dt.tzoffset(), -25200)
+
+        # A negative numerical timezone
         dt = DateTime('Tue, 24 Jul 2001 09:41:03 -0400')
-        self.assertEqual(time.gmtime(dt.timeTime())[:6],
-                         (2001, 7, 24, 13, 41, 3))
+        self.assertEqual(dt.tzoffset(), -14400)
+        
+        # A positive numerical timzone
+        dt = DateTime('Tue, 6 Dec 1966 01:41:03 +0200')
+        self.assertEqual(dt.tzoffset(), 7200)
+        
+        # A negative numerical timezone with minutes.
+        dt = DateTime('Tue, 24 Jul 2001 09:41:03 -0637')
+        self.assertEqual(dt.tzoffset(), -23820)
+
+        # A positive numerical timezone with minutes.
+        dt = DateTime('Tue, 24 Jul 2001 09:41:03 +0425')
+        self.assertEqual(dt.tzoffset(), 15900)
+        
 
     def testISO8601(self):
         ''' iso 8601 dates '''