Implemented tzical type, and fixed many bugs in rrule type.
diff --git a/test.py b/test.py
index 9a5e0dd..905e4ff 100644
--- a/test.py
+++ b/test.py
@@ -776,7 +776,7 @@
class TZTest(unittest.TestCase):
- EST5EDT = """
+ TZFILE_EST5EDT = """
VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAADrAAAABAAAABCeph5wn7rrYKCGAHCh
ms1gomXicKOD6eCkaq5wpTWnYKZTyvCnFYlgqDOs8Kj+peCqE47wqt6H4KvzcPCsvmngrdNS8K6e
S+CvszTwsH4t4LGcUXCyZ0pgs3wzcLRHLGC1XBVwticOYLc793C4BvBguRvZcLnm0mC7BPXwu8a0
@@ -802,6 +802,28 @@
AEVQVAAAAAABAAAAAQ==
"""
+ TZICAL_EST5EDT = """
+BEGIN:VTIMEZONE
+TZID:US-Eastern
+LAST-MODIFIED:19870101T000000Z
+TZURL:http://zones.stds_r_us.net/tz/US-Eastern
+BEGIN:STANDARD
+DTSTART:19671029T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+TZNAME:EST
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:19870405T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+TZNAME:EDT
+END:DAYLIGHT
+END:VTIMEZONE
+ """
+
def testStrStart1(self):
self.assertEqual(datetime(2003,4,6,1,59,
tzinfo=tzstr("EST5EDT")).tzname(), "EST")
@@ -907,12 +929,22 @@
tzrange("EST", -18000, "EDT"))
def testFileStart1(self):
- tz = tzfile(StringIO(base64.decodestring(self.EST5EDT)))
+ tz = tzfile(StringIO(base64.decodestring(self.TZFILE_EST5EDT)))
self.assertEqual(datetime(2003,4,6,1,59,tzinfo=tz).tzname(), "EST")
self.assertEqual(datetime(2003,4,6,2,00,tzinfo=tz).tzname(), "EDT")
def testFileEnd1(self):
- tz = tzfile(StringIO(base64.decodestring(self.EST5EDT)))
+ tz = tzfile(StringIO(base64.decodestring(self.TZFILE_EST5EDT)))
+ self.assertEqual(datetime(2003,10,26,0,59,tzinfo=tz).tzname(), "EDT")
+ self.assertEqual(datetime(2003,10,26,1,00,tzinfo=tz).tzname(), "EST")
+
+ def testICalStart1(self):
+ tz = tzical(StringIO(self.TZICAL_EST5EDT)).get()
+ self.assertEqual(datetime(2003,4,6,1,59,tzinfo=tz).tzname(), "EST")
+ self.assertEqual(datetime(2003,4,6,2,00,tzinfo=tz).tzname(), "EDT")
+
+ def testICalEnd1(self):
+ tz = tzical(StringIO(self.TZICAL_EST5EDT)).get()
self.assertEqual(datetime(2003,10,26,0,59,tzinfo=tz).tzname(), "EDT")
self.assertEqual(datetime(2003,10,26,1,00,tzinfo=tz).tzname(), "EST")