[CalendarServer-changes] [5195] CalendarServer/trunk/twext/python/test/test_datetime.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Feb 24 15:16:11 PST 2010


Revision: 5195
          http://trac.macosforge.org/projects/calendarserver/changeset/5195
Author:   wsanchez at apple.com
Date:     2010-02-24 15:16:09 -0800 (Wed, 24 Feb 2010)
Log Message:
-----------
Firm up timezone tests.

Modified Paths:
--------------
    CalendarServer/trunk/twext/python/test/test_datetime.py

Modified: CalendarServer/trunk/twext/python/test/test_datetime.py
===================================================================
--- CalendarServer/trunk/twext/python/test/test_datetime.py	2010-02-24 21:09:10 UTC (rev 5194)
+++ CalendarServer/trunk/twext/python/test/test_datetime.py	2010-02-24 23:16:09 UTC (rev 5195)
@@ -15,27 +15,31 @@
 ##
 
 from datetime import date, datetime, timedelta
+from dateutil.tz import tzstr
 
 from twisted.internet.defer import DeferredList
 
-from twext.python.datetime import dateordatetime, timerange, utc, tzWithID
+from twext.python.datetime import dateordatetime, timerange, utc
 
 from twistedcaldav.test.util import TestCase, testUnimplemented
 
-tzNYC = tzWithID("America/New_York")
 
+tzUSEastern = tzstr("EST5EDT")
 
+
 def timezones(f):
     """
     Decorator for a test to be called with multiple timezones.
     """
     return lambda self: DeferredList([
         d for d in (
-            f(self, tz) for tz in (utc, tzNYC)
+            f(self, tz) for tz in (utc, tzUSEastern)
         ) if d is not None
     ])
 
 class DatetimeTests(TestCase):
+
+
     def test_date_date(self):
         d = date.today()
         dodt = dateordatetime(d)
@@ -168,19 +172,26 @@
         self.assertEquals(dodt.iCalendarString(), "20100222T174442Z")
 
     def test_datetime_iCalendarString_tz(self):
-        dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=tzNYC)
+        dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=tzUSEastern)
         dodt = dateordatetime(dt)
         self.assertEquals(dodt.iCalendarString(), "20100222T174442")
 
-    @testUnimplemented
     def test_asTimeZone(self):
-        raise NotImplementedError()
+        dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=utc)
+        asUTC = dateordatetime(dt)
+        asEast = asUTC.asTimeZone(tzUSEastern)
+        self.assertEquals(asEast.datetime().tzinfo, tzUSEastern) # tz is changed
+        self.assertEquals(asEast.datetime().hour, 12)            # hour is changed
+        self.assertEquals(asUTC, asEast)                         # still equal
 
-    @testUnimplemented
     def test_asUTC(self):
-        raise NotImplementedError()
+        dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=tzUSEastern)
+        asEast = dateordatetime(dt)
+        asUTC = asEast.asTimeZone(utc)
+        self.assertEquals(asUTC.datetime().tzinfo, utc) # tz is changed
+        self.assertEquals(asUTC.datetime().hour, 22)    # hour is changed
+        self.assertEquals(asEast, asUTC)                # still equal
 
-
 class TimerangeTests(TestCase):
     def test_start(self):
         start = datetime.now()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100224/3286b031/attachment.html>


More information about the calendarserver-changes mailing list