[CalendarServer-changes] [5193] CalendarServer/trunk/twext/python/test/test_datetime.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Feb 24 12:40:20 PST 2010
Revision: 5193
http://trac.macosforge.org/projects/calendarserver/changeset/5193
Author: wsanchez at apple.com
Date: 2010-02-24 12:40:20 -0800 (Wed, 24 Feb 2010)
Log Message:
-----------
Test with both UTC and EST time zones.
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 19:05:06 UTC (rev 5192)
+++ CalendarServer/trunk/twext/python/test/test_datetime.py 2010-02-24 20:40:20 UTC (rev 5193)
@@ -15,21 +15,37 @@
##
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
from twistedcaldav.test.util import TestCase, testUnimplemented
+edt = 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, edt)
+ ) if d is not None
+ ])
+
class DatetimeTests(TestCase):
def test_date_date(self):
d = date.today()
dodt = dateordatetime(d)
self.assertEquals(dodt.date(), d)
- def test_date_date_tz(self):
+ @timezones
+ def test_date_date_tz(self, tz):
d = date.today()
- dodt = dateordatetime(d, defaultTZ=utc)
+ dodt = dateordatetime(d, defaultTZ=tz)
self.assertEquals(dodt.date(), d)
def test_date_datetime(self):
@@ -37,10 +53,11 @@
dodt = dateordatetime(d)
self.assertEquals(dodt.datetime(), datetime(d.year, d.month, d.day))
- def test_date_datetime_tz(self):
+ @timezones
+ def test_date_datetime_tz(self, tz):
d = date.today()
- dodt = dateordatetime(d, defaultTZ=utc)
- self.assertEquals(dodt.datetime(), datetime(d.year, d.month, d.day, tzinfo=utc))
+ dodt = dateordatetime(d, defaultTZ=tz)
+ self.assertEquals(dodt.datetime(), datetime(d.year, d.month, d.day, tzinfo=tz))
def test_datetime_date(self):
dt = datetime.now()
@@ -52,9 +69,10 @@
dodt = dateordatetime(dt)
self.assertEquals(dodt.datetime(), dt)
- def test_datetime_datetime_tz(self):
+ @timezones
+ def test_datetime_datetime_tz(self, tz):
dt = datetime.now()
- dodt = dateordatetime(dt, defaultTZ=utc)
+ dodt = dateordatetime(dt, defaultTZ=tz)
self.assertEquals(dodt.datetime(), dt)
def test_compare_date_date(self):
@@ -63,8 +81,9 @@
def test_compare_date_datetime(self):
return self._test_compare(date, datetime.now())
- def test_compare_date_datetime_tz(self):
- return self._test_compare(date, datetime.now(), tz=utc)
+ @timezones
+ def test_compare_date_datetime_tz(self, tz):
+ return self._test_compare(date, datetime.now(), tz=tz)
def test_compare_datetime_date(self):
return self._test_compare(datetime, date.today())
@@ -72,8 +91,9 @@
def test_compare_datetime_datetime(self):
return self._test_compare(datetime, datetime.now())
- def test_compare_datetime_datetime_tz(self):
- return self._test_compare(datetime, datetime.now(), tz=utc)
+ @timezones
+ def test_compare_datetime_datetime_tz(self, tz):
+ return self._test_compare(datetime, datetime.now(), tz=tz)
def _test_compare(self, baseclass, now, tz=None):
first = dateordatetime(now + timedelta(days=0))
@@ -150,8 +170,9 @@
@testUnimplemented
def test_datetime_iCalendarString_tz(self):
- # Need to test a non-UTC timezone also
- raise NotImplementedError()
+ dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=edt)
+ dodt = dateordatetime(dt)
+ self.assertEquals(dodt.iCalendarString(), "20100222T174442XXXXXX")
@testUnimplemented
def test_asTimeZone(self):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100224/306cb52f/attachment.html>
More information about the calendarserver-changes
mailing list