[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