revise tests, rm test for 114 which doesnt apply if vevents ignore_exceptions and add replacement tests

pull/131/head
Jordan Kiang 2014-04-03 12:10:03 -07:00
rodzic fbeb23bb9b
commit 4fdf13f4eb
2 zmienionych plików z 44 dodań i 53 usunięć

Wyświetl plik

@ -1,41 +0,0 @@
BEGIN:VEVENT
DTSTART:20130927T130000Z
DTEND:20130927T140000Z
DTSTAMP:20131107T004757Z
ORGANIZER;CN=gxxxxxxxn@nxx.fr:mailto:gxxxxxn@nxx.fr
UID:040000008200E00074C5B7101A82E00800000000A0F3321606B6CE01000000000000000
010000000F09F33F0E8ED4C44B99F6027ACF588D0
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=St
eve Bxxxxxx;X-NUM-GUESTS=0:mailto:sxxxxxt@nxx.fr
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Boris
Hxxxxx;X-NUM-GUESTS=0:mailto:bxxxxxxk@vxxxxxxxx.com
CREATED:20130920T113409Z
DESCRIPTION:Quand : vendredi 27 septembre 2013 15:00-16:00 (UTC+01:00) Brux
elles\, Copenhague\, Madrid\, Paris.\nEmplacement : Conf-Call - 01 xx xx xx
xx\n\nRemarque : le décalage GMT ci-dessus ne tient pas compte des réglage
s de l'heure d'été.\n\n*~*~*~*~*~*~*~*~*~*\n\nComme convenu à linstant par
e-mail\n
LAST-MODIFIED:20130920T115104Z
LOCATION:Conf-Call - 01 xx xx xx xx
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Nxx - Réunion lancement PxxxxxxT
TRANSP:OPAQUE
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ver
sion 08.00.0681.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted fro
m text/rtf format -->\n\n<P DIR=LTR><SPAN LANG="fr"><FONT FACE="Calibri">Qu
and : vendredi 27 septembre 2013 15:00-16:00 (UTC+01:00) Bruxelles\, Copenh
ague\, Madrid\, Paris.</FONT></SPAN></P>\n\n<P DIR=LTR><SPAN LANG="fr"><FON
T FACE="Calibri">Emplacement : Conf-Call - 01 xx xx xx xx</FONT></SPAN></P>
\n\n<P DIR=LTR><SPAN LANG="fr"><FONT FACE="Calibri">Remarque : le décalage
GMT ci-dessus ne tient pas compte des réglages de l'heure d'été.</FONT></SP
AN></P>\n\n<P DIR=LTR><SPAN LANG="fr"><FONT FACE="Calibri">*~*~*~*~*~*~*~*~
*~*</FONT></SPAN></P>\n\n<P DIR=LTR><SPAN LANG="fr"><FONT FACE="Calibri">Co
mme convenu à linstant par e-mail</FONT></SPAN><SPAN LANG="fr"></SPAN></P>
\n\n</BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X
END:VEVENT

Wyświetl plik

@ -180,6 +180,50 @@ END:VCALENDAR"""
org_cn = cal.walk('VEVENT')[0]['ORGANIZER'].params['CN']
self.assertEqual(org_cn, u'acme, ädmin')
def test_issue_104__ignore_exceptions(self):
"""
Issue #104 - line parsing error in a VEVENT
(which has ignore_exceptions). Should mark the event broken
but not raise an exception.
https://github.com/collective/icalendar/issues/104
"""
ical_str = """
BEGIN:VEVENT
DTSTART:20140401T000000Z
DTEND:20140401T010000Z
DTSTAMP:20140401T000000Z
SUMMARY:Broken Eevnt
CLASS:PUBLIC
STATUS:CONFIRMED
TRANSP:OPAQUE
X
END:VEVENT"""
event = icalendar.Calendar.from_ical(ical_str)
self.assertTrue(isinstance(event, icalendar.Event))
self.assertTrue(event.is_broken)
def test_issue_104__no_ignore_exceptions(self):
"""
Issue #104 - line parsing error in a VCALENDAR
(which doesn't have ignore_exceptions). Should raise an exception.
"""
ical_str = """BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20140401T000000Z
DTEND:20140401T010000Z
DTSTAMP:20140401T000000Z
SUMMARY:Broken Eevnt
CLASS:PUBLIC
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
X
END:VCALENDAR"""
with self.assertRaises(ValueError):
icalendar.Calendar.from_ical(ical_str)
def test_issue_112(self):
"""Issue #112 - No timezone info on EXDATE
https://github.com/collective/icalendar/issues/112
@ -206,18 +250,6 @@ END:VCALENDAR"""
self.assertEqual(event['exdate'][0].dts[0].dt.tzname(), 'EDT')
def test_issue_114(self):
"""Issue #114/#115 - invalid line in event breaks the parser
https://github.com/collective/icalendar/issues/114
"""
directory = os.path.dirname(__file__)
ics = open(os.path.join(directory, 'issue_114_invalid_line.ics'), 'rb')
with self.assertRaises(ValueError):
cal = icalendar.Calendar.from_ical(ics.read())
cal # pep 8
ics.close()
def test_issue_116(self):
"""Issue #116/#117 - How to add 'X-APPLE-STRUCTURED-LOCATION'
"""