[CalendarServer-changes] [5191] CalendarServer/trunk/twext/python
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 23 15:48:58 PST 2010
Revision: 5191
http://trac.macosforge.org/projects/calendarserver/changeset/5191
Author: wsanchez at apple.com
Date: 2010-02-23 15:48:55 -0800 (Tue, 23 Feb 2010)
Log Message:
-----------
Add timezone tests and fixes
Modified Paths:
--------------
CalendarServer/trunk/twext/python/datetime.py
CalendarServer/trunk/twext/python/test/test_datetime.py
Modified: CalendarServer/trunk/twext/python/datetime.py
===================================================================
--- CalendarServer/trunk/twext/python/datetime.py 2010-02-23 22:05:34 UTC (rev 5190)
+++ CalendarServer/trunk/twext/python/datetime.py 2010-02-23 23:48:55 UTC (rev 5191)
@@ -71,12 +71,14 @@
def __eq__(self, other):
if isinstance(other, dateordatetime):
other = other.dateOrDatetime()
- return self._dateOrDatetime == other
+ dt1, dt2 = self._comparableDatetimes(other)
+ return dt1 == dt2
def __ne__(self, other):
if isinstance(other, dateordatetime):
- other = other.dateOrDatetime
- return self._dateOrDatetime != other
+ other = other.dateOrDatetime()
+ dt1, dt2 = self._comparableDatetimes(other)
+ return dt1 != dt2
def __lt__(self, other):
if not isinstance(other, comparableTypes):
Modified: CalendarServer/trunk/twext/python/test/test_datetime.py
===================================================================
--- CalendarServer/trunk/twext/python/test/test_datetime.py 2010-02-23 22:05:34 UTC (rev 5190)
+++ CalendarServer/trunk/twext/python/test/test_datetime.py 2010-02-23 23:48:55 UTC (rev 5191)
@@ -63,63 +63,75 @@
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)
+
def test_compare_datetime_date(self):
return self._test_compare(datetime, date.today())
def test_compare_datetime_datetime(self):
return self._test_compare(datetime, datetime.now())
- def _test_compare(self, baseclass, now):
+ def test_compare_datetime_datetime_tz(self):
+ return self._test_compare(datetime, datetime.now(), tz=utc)
+
+ def _test_compare(self, baseclass, now, tz=None):
first = dateordatetime(now + timedelta(days=0))
second = dateordatetime(now + timedelta(days=1))
third = dateordatetime(now + timedelta(days=2))
+ def base(dodt):
+ if tz:
+ return dodt.dateOrDatetime().replace(tzinfo=tz)
+ else:
+ return dodt.dateOrDatetime()
+
#
# date & datetime's comparators do not correctly return
# NotImplemented when they should, which breaks comparison
# operators if date/datetime is first. Boo. Seriously weak.
#
- self.assertTrue (first == first.dateOrDatetime() )
- #self.assertTrue (first.dateOrDatetime() == first ) # Bug in datetime
- self.assertTrue (first == first.dateOrDatetime() )
- self.assertTrue (first != second.dateOrDatetime())
- self.assertTrue (first.dateOrDatetime() != second )
- self.assertTrue (first != second )
- self.assertTrue (first < second )
- self.assertTrue (second < third )
- self.assertTrue (first < second.dateOrDatetime())
- #self.assertTrue (second.dateOrDatetime() < third ) # Bug in datetime
- self.assertTrue (first < second )
- self.assertTrue (second < third )
- #self.assertTrue (first.dateOrDatetime() < second )
- self.assertTrue (second < third.dateOrDatetime() ) # Bug in datetime
- self.assertTrue (first <= second )
- self.assertTrue (second <= third )
- self.assertTrue (first <= second.dateOrDatetime())
- #self.assertTrue (second.dateOrDatetime() <= third ) # Bug in datetime
- self.assertTrue (first <= second.dateOrDatetime())
- #self.assertTrue (second.dateOrDatetime() <= third ) # Bug in datetime
- self.assertTrue (first <= second )
- self.assertTrue (second <= third )
- #self.assertTrue (first.dateOrDatetime() <= second ) # Bug in datetime
- self.assertTrue (second <= third.dateOrDatetime() )
- self.assertFalse(first > second )
- self.assertFalse(second > third )
- self.assertFalse(first > second.dateOrDatetime())
- #self.assertFalse(second.dateOrDatetime() > third ) # Bug in datetime
- self.assertFalse(first > second )
- self.assertFalse(second > third )
- #self.assertFalse(first.dateOrDatetime() > second ) # Bug in datetime
- self.assertFalse(second > third.dateOrDatetime() )
- self.assertFalse(first >= second )
- self.assertFalse(second >= third )
- self.assertFalse(first >= second.dateOrDatetime())
- #self.assertFalse(second.dateOrDatetime() >= third ) # Bug in datetime
- self.assertFalse(first >= second )
- self.assertFalse(second >= third )
- #self.assertFalse(first.dateOrDatetime() >= second ) # Bug in datetime
- self.assertFalse(second >= third.dateOrDatetime() )
+ self.assertTrue (first == base(first) )
+ #self.assertTrue (base(first) == first ) # Bug in datetime
+ self.assertTrue (first == base(first) )
+ self.assertTrue (first != base(second))
+ self.assertTrue (base(first) != second )
+ self.assertTrue (first != second )
+ self.assertTrue (first < second )
+ self.assertTrue (second < third )
+ self.assertTrue (first < base(second))
+ #self.assertTrue (base(second) < third ) # Bug in datetime
+ self.assertTrue (first < second )
+ self.assertTrue (second < third )
+ #self.assertTrue (base(first) < second )
+ self.assertTrue (second < base(third) ) # Bug in datetime
+ self.assertTrue (first <= second )
+ self.assertTrue (second <= third )
+ self.assertTrue (first <= base(second))
+ #self.assertTrue (base(second) <= third ) # Bug in datetime
+ self.assertTrue (first <= base(second))
+ #self.assertTrue (base(second) <= third ) # Bug in datetime
+ self.assertTrue (first <= second )
+ self.assertTrue (second <= third )
+ #self.assertTrue (base(first) <= second ) # Bug in datetime
+ self.assertTrue (second <= base(third) )
+ self.assertFalse(first > second )
+ self.assertFalse(second > third )
+ self.assertFalse(first > base(second))
+ #self.assertFalse(base(second) > third ) # Bug in datetime
+ self.assertFalse(first > second )
+ self.assertFalse(second > third )
+ #self.assertFalse(base(first) > second ) # Bug in datetime
+ self.assertFalse(second > base(third) )
+ self.assertFalse(first >= second )
+ self.assertFalse(second >= third )
+ self.assertFalse(first >= base(second))
+ #self.assertFalse(base(second) >= third ) # Bug in datetime
+ self.assertFalse(first >= second )
+ self.assertFalse(second >= third )
+ #self.assertFalse(base(first) >= second ) # Bug in datetime
+ self.assertFalse(second >= base(third) )
def test_date_iCalendarString(self):
d = date(2010, 2, 22)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100223/ad8532cb/attachment-0001.html>
More information about the calendarserver-changes
mailing list