aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorUlf Jasper2020-10-22 17:45:59 +0200
committerUlf Jasper2020-10-22 17:45:59 +0200
commit6342264ef74bdc5d649d6baaaa986d54d3aa11fe (patch)
treef8420ebc260c001f43f330386ecc94019c2d62a5 /test
parent5d152ed73754f3fcd8ce7e08bf1cfcf96e9656bb (diff)
downloademacs-6342264ef74bdc5d649d6baaaa986d54d3aa11fe.tar.gz
emacs-6342264ef74bdc5d649d6baaaa986d54d3aa11fe.zip
Move test data for icalendar tests to separate files.
* test/lisp/calendar/icalendar-tests.el (icalendar-tests--data-dir, icalendar-tests--get-file-contents): New. (icalendar-tests--test-import, icalendar-tests--do-test-import): Read input and expected results from files. (icalendar-import-non-recurring, icalendar-import-rrule) (icalendar-import-duration, icalendar-import-bug-6766) (icalendar-import-bug-24199, icalendar-import-bug-33277) (icalendar-import-multiple-vcalendars, icalendar-import-with-uid) (icalendar-import-with-timezone, icalendar-real-world): Move test data (input and expected result) to separate files. * test/calendar/icalendar/* New files containing test data for icalendar tests.
Diffstat (limited to 'test')
-rw-r--r--test/data/icalendar/import-bug-11473.diary-european10
-rw-r--r--test/data/icalendar/import-bug-11473.ics54
-rw-r--r--test/data/icalendar/import-bug-22092.diary-american6
-rw-r--r--test/data/icalendar/import-bug-22092.diary-european6
-rw-r--r--test/data/icalendar/import-bug-22092.diary-iso6
-rw-r--r--test/data/icalendar/import-bug-22092.ics30
-rw-r--r--test/data/icalendar/import-bug-24199.diary-american5
-rw-r--r--test/data/icalendar/import-bug-24199.diary-european5
-rw-r--r--test/data/icalendar/import-bug-24199.diary-iso5
-rw-r--r--test/data/icalendar/import-bug-24199.ics25
-rw-r--r--test/data/icalendar/import-bug-33277.diary-american1
-rw-r--r--test/data/icalendar/import-bug-33277.diary-european1
-rw-r--r--test/data/icalendar/import-bug-33277.diary-iso1
-rw-r--r--test/data/icalendar/import-bug-33277.ics15
-rw-r--r--test/data/icalendar/import-bug-6766.diary-american7
-rw-r--r--test/data/icalendar/import-bug-6766.diary-european7
-rw-r--r--test/data/icalendar/import-bug-6766.diary-iso7
-rw-r--r--test/data/icalendar/import-bug-6766.ics28
-rw-r--r--test/data/icalendar/import-duration-2.diary-american3
-rw-r--r--test/data/icalendar/import-duration-2.diary-european3
-rw-r--r--test/data/icalendar/import-duration-2.diary-iso3
-rw-r--r--test/data/icalendar/import-duration-2.ics17
-rw-r--r--test/data/icalendar/import-duration.diary-american1
-rw-r--r--test/data/icalendar/import-duration.diary-european1
-rw-r--r--test/data/icalendar/import-duration.diary-iso1
-rw-r--r--test/data/icalendar/import-duration.ics10
-rw-r--r--test/data/icalendar/import-multiple-vcalendars.diary-american4
-rw-r--r--test/data/icalendar/import-multiple-vcalendars.diary-european4
-rw-r--r--test/data/icalendar/import-multiple-vcalendars.diary-iso4
-rw-r--r--test/data/icalendar/import-multiple-vcalendars.ics21
-rw-r--r--test/data/icalendar/import-non-recurring-1.diary-american1
-rw-r--r--test/data/icalendar/import-non-recurring-1.diary-european1
-rw-r--r--test/data/icalendar/import-non-recurring-1.diary-iso1
-rw-r--r--test/data/icalendar/import-non-recurring-1.ics10
-rw-r--r--test/data/icalendar/import-non-recurring-all-day.diary-american1
-rw-r--r--test/data/icalendar/import-non-recurring-all-day.diary-european1
-rw-r--r--test/data/icalendar/import-non-recurring-all-day.diary-iso1
-rw-r--r--test/data/icalendar/import-non-recurring-all-day.ics9
-rw-r--r--test/data/icalendar/import-non-recurring-another-example.diary-american4
-rw-r--r--test/data/icalendar/import-non-recurring-another-example.diary-european4
-rw-r--r--test/data/icalendar/import-non-recurring-another-example.diary-iso4
-rw-r--r--test/data/icalendar/import-non-recurring-another-example.ics23
-rw-r--r--test/data/icalendar/import-non-recurring-block.diary-american4
-rw-r--r--test/data/icalendar/import-non-recurring-block.diary-european4
-rw-r--r--test/data/icalendar/import-non-recurring-block.diary-iso4
-rw-r--r--test/data/icalendar/import-non-recurring-block.ics16
-rw-r--r--test/data/icalendar/import-non-recurring-folded-summary.diary-american4
-rw-r--r--test/data/icalendar/import-non-recurring-folded-summary.diary-european4
-rw-r--r--test/data/icalendar/import-non-recurring-folded-summary.diary-iso4
-rw-r--r--test/data/icalendar/import-non-recurring-folded-summary.ics25
-rw-r--r--test/data/icalendar/import-non-recurring-long-summary.diary-american1
-rw-r--r--test/data/icalendar/import-non-recurring-long-summary.diary-european1
-rw-r--r--test/data/icalendar/import-non-recurring-long-summary.diary-iso1
-rw-r--r--test/data/icalendar/import-non-recurring-long-summary.ics10
-rw-r--r--test/data/icalendar/import-real-world-2003-05-29.diary-american6
-rw-r--r--test/data/icalendar/import-real-world-2003-05-29.diary-european6
-rw-r--r--test/data/icalendar/import-real-world-2003-05-29.ics54
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18a.diary-american6
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18a.diary-european6
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18a.ics36
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18b.diary-american6
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18b.diary-european6
-rw-r--r--test/data/icalendar/import-real-world-2003-06-18b.ics55
-rw-r--r--test/data/icalendar/import-real-world-2004-11-19.diary-american19
-rw-r--r--test/data/icalendar/import-real-world-2004-11-19.diary-european19
-rw-r--r--test/data/icalendar/import-real-world-2004-11-19.ics120
-rw-r--r--test/data/icalendar/import-real-world-2005-02-07.diary-american5
-rw-r--r--test/data/icalendar/import-real-world-2005-02-07.diary-european5
-rw-r--r--test/data/icalendar/import-real-world-2005-02-07.ics26
-rw-r--r--test/data/icalendar/import-real-world-2005-03-01.diary-american2
-rw-r--r--test/data/icalendar/import-real-world-2005-03-01.diary-european2
-rw-r--r--test/data/icalendar/import-real-world-2005-03-01.ics11
-rw-r--r--test/data/icalendar/import-real-world-no-dst.diary-american4
-rw-r--r--test/data/icalendar/import-real-world-no-dst.diary-european4
-rw-r--r--test/data/icalendar/import-real-world-no-dst.ics26
-rw-r--r--test/data/icalendar/import-rrule-anniversary.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-anniversary.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-anniversary.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-anniversary.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-bi-weekly.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-bi-weekly.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-bi-weekly.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-bi-weekly.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-daily-long.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-long.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-long.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-long.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-daily-short.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-short.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-short.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-daily-short.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-month.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-month.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-month.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-month.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-year.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-year.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-year.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-every-second-year.ics10
-rw-r--r--test/data/icalendar/import-rrule-count-monthly.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-monthly.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-monthly.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-monthly.ics11
-rw-r--r--test/data/icalendar/import-rrule-count-yearly.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-count-yearly.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-count-yearly.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-count-yearly.ics11
-rw-r--r--test/data/icalendar/import-rrule-daily-two-day.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-daily-two-day.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-daily-two-day.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-daily-two-day.ics10
-rw-r--r--test/data/icalendar/import-rrule-daily-with-exceptions.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-daily-with-exceptions.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-daily-with-exceptions.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-daily-with-exceptions.ics12
-rw-r--r--test/data/icalendar/import-rrule-daily.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-daily.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-daily.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-daily.ics11
-rw-r--r--test/data/icalendar/import-rrule-monthly-no-end.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-monthly-no-end.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-monthly-no-end.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-monthly-no-end.ics11
-rw-r--r--test/data/icalendar/import-rrule-monthly-with-end.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-monthly-with-end.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-monthly-with-end.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-monthly-with-end.ics11
-rw-r--r--test/data/icalendar/import-rrule-weekly.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-weekly.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-weekly.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-weekly.ics11
-rw-r--r--test/data/icalendar/import-rrule-yearly.diary-american1
-rw-r--r--test/data/icalendar/import-rrule-yearly.diary-european1
-rw-r--r--test/data/icalendar/import-rrule-yearly.diary-iso1
-rw-r--r--test/data/icalendar/import-rrule-yearly.ics11
-rw-r--r--test/data/icalendar/import-with-timezone.diary-iso2
-rw-r--r--test/data/icalendar/import-with-timezone.ics27
-rw-r--r--test/data/icalendar/import-with-uid.diary-american2
-rw-r--r--test/data/icalendar/import-with-uid.diary-european2
-rw-r--r--test/data/icalendar/import-with-uid.diary-iso2
-rw-r--r--test/data/icalendar/import-with-uid.ics10
-rw-r--r--test/lisp/calendar/icalendar-tests.el1227
142 files changed, 1297 insertions, 1037 deletions
diff --git a/test/data/icalendar/import-bug-11473.diary-european b/test/data/icalendar/import-bug-11473.diary-european
new file mode 100644
index 00000000000..97348ae0498
--- /dev/null
+++ b/test/data/icalendar/import-bug-11473.diary-european
@@ -0,0 +1,10 @@
1&15/5/2012 15:00-15:30 Query
2 Desc:
3 Whassup?
4
5
6 Location: phone
7 Organizer: MAILTO:a.luser@foo.com
8 Status: CONFIRMED
9 Class: PUBLIC
10 UID: 040000008200E00074C5B7101A82E0080000000020FFAED0CFEFCC01000000000000000010000000575268034ECDB649A15349B1BF240F15
diff --git a/test/data/icalendar/import-bug-11473.ics b/test/data/icalendar/import-bug-11473.ics
new file mode 100644
index 00000000000..bc3a6c69fb7
--- /dev/null
+++ b/test/data/icalendar/import-bug-11473.ics
@@ -0,0 +1,54 @@
1BEGIN:VCALENDAR
2METHOD:REQUEST
3PRODID:Microsoft Exchange Server 2007
4VERSION:2.0
5BEGIN:VTIMEZONE
6TZID:(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
7BEGIN:STANDARD
8DTSTART:16010101T030000
9TZOFFSETFROM:+0200
10TZOFFSETTO:+0100
11RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
12END:STANDARD
13BEGIN:DAYLIGHT
14DTSTART:16010101T020000
15TZOFFSETFROM:+0100
16TZOFFSETTO:+0200
17RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
18END:DAYLIGHT
19END:VTIMEZONE
20BEGIN:VEVENT
21ORGANIZER;CN="A. Luser":MAILTO:a.luser@foo.com
22ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Luser, Oth
23 er":MAILTO:other.luser@foo.com
24DESCRIPTION;LANGUAGE=en-US:\nWhassup?\n\n
25SUMMARY;LANGUAGE=en-US:Query
26DTSTART;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"
27 :20120515T150000
28DTEND;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna":2
29 0120515T153000
30UID:040000008200E00074C5B7101A82E0080000000020FFAED0CFEFCC01000000000000000
31 010000000575268034ECDB649A15349B1BF240F15
32RECURRENCE-ID;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, V
33 ienna":20120515T170000
34CLASS:PUBLIC
35PRIORITY:5
36DTSTAMP:20120514T153645Z
37TRANSP:OPAQUE
38STATUS:CONFIRMED
39SEQUENCE:15
40LOCATION;LANGUAGE=en-US:phone
41X-MICROSOFT-CDO-APPT-SEQUENCE:15
42X-MICROSOFT-CDO-OWNERAPPTID:1907632092
43X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
44X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
45X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
46X-MICROSOFT-CDO-IMPORTANCE:1
47X-MICROSOFT-CDO-INSTTYPE:3
48BEGIN:VALARM
49ACTION:DISPLAY
50DESCRIPTION:REMINDER
51TRIGGER;RELATED=START:-PT15M
52END:VALARM
53END:VEVENT
54END:VCALENDAR \ No newline at end of file
diff --git a/test/data/icalendar/import-bug-22092.diary-american b/test/data/icalendar/import-bug-22092.diary-american
new file mode 100644
index 00000000000..392345fe0a2
--- /dev/null
+++ b/test/data/icalendar/import-bug-22092.diary-american
@@ -0,0 +1,6 @@
1&12/8/2014 18:30-22:55 Norwegian til Tromsoe-Langnes -
2 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Tromsø 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Tromsø 8. des 2014 21:00, DY390
3 Location: Stavanger-Sola
4 Organizer: noreply@norwegian.no
5 Class: PUBLIC
6 UID: RFCALITEM1
diff --git a/test/data/icalendar/import-bug-22092.diary-european b/test/data/icalendar/import-bug-22092.diary-european
new file mode 100644
index 00000000000..6a64cf6a8e9
--- /dev/null
+++ b/test/data/icalendar/import-bug-22092.diary-european
@@ -0,0 +1,6 @@
1&8/12/2014 18:30-22:55 Norwegian til Tromsoe-Langnes -
2 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Tromsø 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Tromsø 8. des 2014 21:00, DY390
3 Location: Stavanger-Sola
4 Organizer: noreply@norwegian.no
5 Class: PUBLIC
6 UID: RFCALITEM1
diff --git a/test/data/icalendar/import-bug-22092.diary-iso b/test/data/icalendar/import-bug-22092.diary-iso
new file mode 100644
index 00000000000..e0fadbf94dc
--- /dev/null
+++ b/test/data/icalendar/import-bug-22092.diary-iso
@@ -0,0 +1,6 @@
1&2014/12/8 18:30-22:55 Norwegian til Tromsoe-Langnes -
2 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Tromsø 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Tromsø 8. des 2014 21:00, DY390
3 Location: Stavanger-Sola
4 Organizer: noreply@norwegian.no
5 Class: PUBLIC
6 UID: RFCALITEM1
diff --git a/test/data/icalendar/import-bug-22092.ics b/test/data/icalendar/import-bug-22092.ics
new file mode 100644
index 00000000000..4a4c679da9c
--- /dev/null
+++ b/test/data/icalendar/import-bug-22092.ics
@@ -0,0 +1,30 @@
1BEGIN:VCALENDAR
2PRODID:-//www.norwegian.no//iCalendar MIMEDIR//EN
3VERSION:2.0
4METHOD:REQUEST
5BEGIN:VEVENT
6UID:RFCALITEM1
7SEQUENCE:1512040950
8DTSTAMP:20141204T095043Z
9ORGANIZER:noreply@norwegian.no
10DTSTART:20141208T173000Z
11
12DTEND:20141208T215500Z
13
14LOCATION:Stavanger-Sola
15
16DESCRIPTION:Fly med Norwegian, reservasjon. Fra Stavanger til Tromsø 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Tromsø 8. des 2014 21:00, DY390
17
18X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><html><head><META NAME="Generator" CONTENT="MS Exchange Server version 08.00.0681.000"><title></title></head><body><b><font face="Calibri" size="3">Reisereferanse</p></body></html>
19SUMMARY:Norwegian til Tromsoe-Langnes -
20
21CATEGORIES:Appointment
22
23
24PRIORITY:5
25
26CLASS:PUBLIC
27
28TRANSP:OPAQUE
29END:VEVENT
30END:VCALENDAR
diff --git a/test/data/icalendar/import-bug-24199.diary-american b/test/data/icalendar/import-bug-24199.diary-american
new file mode 100644
index 00000000000..b3308f1fcfa
--- /dev/null
+++ b/test/data/icalendar/import-bug-24199.diary-american
@@ -0,0 +1,5 @@
1&%%(and (not (diary-date 1 6 2016)) (not (diary-date 2 3 2016)) (not (diary-date 3 2 2016)) (not (diary-date 5 4 2016)) (not (diary-date 6 1 2016)) (diary-float t 3 1) (diary-block 12 2 2015 1 1 9999)) 12:46-16:00 Summary
2 Desc: Desc
3 Location: Loc
4 Class: DEFAULT
5 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
diff --git a/test/data/icalendar/import-bug-24199.diary-european b/test/data/icalendar/import-bug-24199.diary-european
new file mode 100644
index 00000000000..acba714b527
--- /dev/null
+++ b/test/data/icalendar/import-bug-24199.diary-european
@@ -0,0 +1,5 @@
1&%%(and (not (diary-date 6 1 2016)) (not (diary-date 3 2 2016)) (not (diary-date 2 3 2016)) (not (diary-date 4 5 2016)) (not (diary-date 1 6 2016)) (diary-float t 3 1) (diary-block 2 12 2015 1 1 9999)) 12:46-16:00 Summary
2 Desc: Desc
3 Location: Loc
4 Class: DEFAULT
5 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
diff --git a/test/data/icalendar/import-bug-24199.diary-iso b/test/data/icalendar/import-bug-24199.diary-iso
new file mode 100644
index 00000000000..2c18395dea8
--- /dev/null
+++ b/test/data/icalendar/import-bug-24199.diary-iso
@@ -0,0 +1,5 @@
1&%%(and (not (diary-date 2016 1 6)) (not (diary-date 2016 2 3)) (not (diary-date 2016 3 2)) (not (diary-date 2016 5 4)) (not (diary-date 2016 6 1)) (diary-float t 3 1) (diary-block 2015 12 2 9999 1 1)) 12:46-16:00 Summary
2 Desc: Desc
3 Location: Loc
4 Class: DEFAULT
5 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
diff --git a/test/data/icalendar/import-bug-24199.ics b/test/data/icalendar/import-bug-24199.ics
new file mode 100644
index 00000000000..a307c2da3ca
--- /dev/null
+++ b/test/data/icalendar/import-bug-24199.ics
@@ -0,0 +1,25 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:Summary
6DESCRIPTION:Desc
7LOCATION:Loc
8DTSTART:20151202T124600
9DTEND:20151202T160000
10RRULE:FREQ=MONTHLY;BYDAY=1WE;INTERVAL=1
11EXDATE:20160106T114600Z
12EXDATE:20160203T114600Z
13EXDATE:20160302T114600Z
14EXDATE:20160504T104600Z
15EXDATE:20160601T104600Z
16CLASS:DEFAULT
17TRANSP:OPAQUE
18BEGIN:VALARM
19ACTION:DISPLAY
20TRIGGER;VALUE=DURATION:-PT3H
21END:VALARM
22LAST-MODIFIED:20160805T191040Z
23UID:9188710a-08a7-4061-bae3-d4cf4972599a
24END:VEVENT
25END:VCALENDAR
diff --git a/test/data/icalendar/import-bug-33277.diary-american b/test/data/icalendar/import-bug-33277.diary-american
new file mode 100644
index 00000000000..c546fa9a97c
--- /dev/null
+++ b/test/data/icalendar/import-bug-33277.diary-american
@@ -0,0 +1 @@
&11/5/2018 21:00 event with same start/end time
diff --git a/test/data/icalendar/import-bug-33277.diary-european b/test/data/icalendar/import-bug-33277.diary-european
new file mode 100644
index 00000000000..28e53960536
--- /dev/null
+++ b/test/data/icalendar/import-bug-33277.diary-european
@@ -0,0 +1 @@
&5/11/2018 21:00 event with same start/end time
diff --git a/test/data/icalendar/import-bug-33277.diary-iso b/test/data/icalendar/import-bug-33277.diary-iso
new file mode 100644
index 00000000000..faa7aeafeb5
--- /dev/null
+++ b/test/data/icalendar/import-bug-33277.diary-iso
@@ -0,0 +1 @@
&2018/11/5 21:00 event with same start/end time
diff --git a/test/data/icalendar/import-bug-33277.ics b/test/data/icalendar/import-bug-33277.ics
new file mode 100644
index 00000000000..a4122a28007
--- /dev/null
+++ b/test/data/icalendar/import-bug-33277.ics
@@ -0,0 +1,15 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTART:20181105T200000Z
6DTSTAMP:20181105T181652Z
7DESCRIPTION:
8LAST-MODIFIED:20181105T181646Z
9LOCATION:
10SEQUENCE:0
11SUMMARY:event with same start/end time
12TRANSP:OPAQUE
13END:VEVENT
14END:VCALENDAR
15
diff --git a/test/data/icalendar/import-bug-6766.diary-american b/test/data/icalendar/import-bug-6766.diary-american
new file mode 100644
index 00000000000..30deea9911a
--- /dev/null
+++ b/test/data/icalendar/import-bug-6766.diary-american
@@ -0,0 +1,7 @@
1&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 4 21 2010)) 11:30-12:00 Scrum
2 Status: CONFIRMED
3 Class: PUBLIC
4 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
5&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 4 22 2010)) Tues + Thurs thinking
6 Class: PUBLIC
7 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
diff --git a/test/data/icalendar/import-bug-6766.diary-european b/test/data/icalendar/import-bug-6766.diary-european
new file mode 100644
index 00000000000..ba16c02305a
--- /dev/null
+++ b/test/data/icalendar/import-bug-6766.diary-european
@@ -0,0 +1,7 @@
1&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 21 4 2010)) 11:30-12:00 Scrum
2 Status: CONFIRMED
3 Class: PUBLIC
4 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
5&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 22 4 2010)) Tues + Thurs thinking
6 Class: PUBLIC
7 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
diff --git a/test/data/icalendar/import-bug-6766.diary-iso b/test/data/icalendar/import-bug-6766.diary-iso
new file mode 100644
index 00000000000..7794e586f37
--- /dev/null
+++ b/test/data/icalendar/import-bug-6766.diary-iso
@@ -0,0 +1,7 @@
1&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 2010 4 21)) 11:30-12:00 Scrum
2 Status: CONFIRMED
3 Class: PUBLIC
4 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
5&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 2010 4 22)) Tues + Thurs thinking
6 Class: PUBLIC
7 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
diff --git a/test/data/icalendar/import-bug-6766.ics b/test/data/icalendar/import-bug-6766.ics
new file mode 100644
index 00000000000..451391be025
--- /dev/null
+++ b/test/data/icalendar/import-bug-6766.ics
@@ -0,0 +1,28 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5CLASS:PUBLIC
6DTEND;TZID=America/New_York:20100421T120000
7DTSTAMP:20100525T141214Z
8DTSTART;TZID=America/New_York:20100421T113000
9RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,TH,FR
10SEQUENCE:1
11STATUS:CONFIRMED
12SUMMARY:Scrum
13TRANSP:OPAQUE
14UID:8814e3f9-7482-408f-996c-3bfe486a1262
15END:VEVENT
16BEGIN:VEVENT
17CLASS:PUBLIC
18DTSTAMP:20100525T141214Z
19DTSTART;VALUE=DATE:20100422
20DTEND;VALUE=DATE:20100423
21RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU,TH
22SEQUENCE:1
23SUMMARY:Tues + Thurs thinking
24TRANSP:OPAQUE
25UID:8814e3f9-7482-408f-996c-3bfe486a1263
26END:VEVENT
27END:VCALENDAR
28
diff --git a/test/data/icalendar/import-duration-2.diary-american b/test/data/icalendar/import-duration-2.diary-american
new file mode 100644
index 00000000000..56f41d6ad9e
--- /dev/null
+++ b/test/data/icalendar/import-duration-2.diary-american
@@ -0,0 +1,3 @@
1&%%(and (diary-cyclic 1 12 21 2001) (diary-block 12 21 2001 12 29 2001)) Urlaub
2 Class: PUBLIC
3 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda
diff --git a/test/data/icalendar/import-duration-2.diary-european b/test/data/icalendar/import-duration-2.diary-european
new file mode 100644
index 00000000000..999102ab6b4
--- /dev/null
+++ b/test/data/icalendar/import-duration-2.diary-european
@@ -0,0 +1,3 @@
1&%%(and (diary-cyclic 1 21 12 2001) (diary-block 21 12 2001 29 12 2001)) Urlaub
2 Class: PUBLIC
3 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda
diff --git a/test/data/icalendar/import-duration-2.diary-iso b/test/data/icalendar/import-duration-2.diary-iso
new file mode 100644
index 00000000000..393937e6cd9
--- /dev/null
+++ b/test/data/icalendar/import-duration-2.diary-iso
@@ -0,0 +1,3 @@
1&%%(and (diary-cyclic 1 2001 12 21) (diary-block 2001 12 21 2001 12 29)) Urlaub
2 Class: PUBLIC
3 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda
diff --git a/test/data/icalendar/import-duration-2.ics b/test/data/icalendar/import-duration-2.ics
new file mode 100644
index 00000000000..eb8a03ba36f
--- /dev/null
+++ b/test/data/icalendar/import-duration-2.ics
@@ -0,0 +1,17 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID:20041127T183329Z-18215-1001-4536-49109@andromeda
6DTSTAMP:20041127T183315Z
7LAST-MODIFIED:20041127T183329
8SUMMARY:Urlaub
9DTSTART;VALUE=DATE:20011221
10DTEND;VALUE=DATE:20011221
11RRULE:FREQ=DAILY;UNTIL=20011229;INTERVAL=1;WKST=SU
12CLASS:PUBLIC
13SEQUENCE:1
14CREATED:20041127T183329
15END:VEVENT
16END:VCALENDAR
17
diff --git a/test/data/icalendar/import-duration.diary-american b/test/data/icalendar/import-duration.diary-american
new file mode 100644
index 00000000000..268736a8cd0
--- /dev/null
+++ b/test/data/icalendar/import-duration.diary-american
@@ -0,0 +1 @@
&%%(and (diary-block 2 17 2005 2 23 2005)) duration
diff --git a/test/data/icalendar/import-duration.diary-european b/test/data/icalendar/import-duration.diary-european
new file mode 100644
index 00000000000..7d852ddcd3c
--- /dev/null
+++ b/test/data/icalendar/import-duration.diary-european
@@ -0,0 +1 @@
&%%(and (diary-block 17 2 2005 23 2 2005)) duration
diff --git a/test/data/icalendar/import-duration.diary-iso b/test/data/icalendar/import-duration.diary-iso
new file mode 100644
index 00000000000..5d3a714284e
--- /dev/null
+++ b/test/data/icalendar/import-duration.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-block 2005 2 17 2005 2 23)) duration
diff --git a/test/data/icalendar/import-duration.ics b/test/data/icalendar/import-duration.ics
new file mode 100644
index 00000000000..67f5c73571b
--- /dev/null
+++ b/test/data/icalendar/import-duration.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTART;VALUE=DATE:20050217
6SUMMARY:duration
7DURATION:P7D
8END:VEVENT
9END:VCALENDAR
10
diff --git a/test/data/icalendar/import-multiple-vcalendars.diary-american b/test/data/icalendar/import-multiple-vcalendars.diary-american
new file mode 100644
index 00000000000..d1b1992a022
--- /dev/null
+++ b/test/data/icalendar/import-multiple-vcalendars.diary-american
@@ -0,0 +1,4 @@
1&7/23/2011 event-1
2&7/24/2011 event-2
3&7/25/2011 event-3a
4&7/25/2011 event-3b
diff --git a/test/data/icalendar/import-multiple-vcalendars.diary-european b/test/data/icalendar/import-multiple-vcalendars.diary-european
new file mode 100644
index 00000000000..f068354220c
--- /dev/null
+++ b/test/data/icalendar/import-multiple-vcalendars.diary-european
@@ -0,0 +1,4 @@
1&23/7/2011 event-1
2&24/7/2011 event-2
3&25/7/2011 event-3a
4&25/7/2011 event-3b
diff --git a/test/data/icalendar/import-multiple-vcalendars.diary-iso b/test/data/icalendar/import-multiple-vcalendars.diary-iso
new file mode 100644
index 00000000000..5685e4708a7
--- /dev/null
+++ b/test/data/icalendar/import-multiple-vcalendars.diary-iso
@@ -0,0 +1,4 @@
1&2011/7/23 event-1
2&2011/7/24 event-2
3&2011/7/25 event-3a
4&2011/7/25 event-3b
diff --git a/test/data/icalendar/import-multiple-vcalendars.ics b/test/data/icalendar/import-multiple-vcalendars.ics
new file mode 100644
index 00000000000..69a02c09b1b
--- /dev/null
+++ b/test/data/icalendar/import-multiple-vcalendars.ics
@@ -0,0 +1,21 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTART;VALUE=DATE:20110723
6SUMMARY:event-1
7END:VEVENT
8BEGIN:VEVENT
9DTSTART;VALUE=DATE:20110724
10SUMMARY:event-2
11END:VEVENT
12BEGIN:VEVENT
13DTSTART;VALUE=DATE:20110725
14SUMMARY:event-3a
15END:VEVENT
16BEGIN:VEVENT
17DTSTART;VALUE=DATE:20110725
18SUMMARY:event-3b
19END:VEVENT
20END:VCALENDAR
21
diff --git a/test/data/icalendar/import-non-recurring-1.diary-american b/test/data/icalendar/import-non-recurring-1.diary-american
new file mode 100644
index 00000000000..780e3a8ce64
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-1.diary-american
@@ -0,0 +1 @@
&9/19/2003 09:00-11:30 non-recurring
diff --git a/test/data/icalendar/import-non-recurring-1.diary-european b/test/data/icalendar/import-non-recurring-1.diary-european
new file mode 100644
index 00000000000..7e0cd21b784
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-1.diary-european
@@ -0,0 +1 @@
&19/9/2003 09:00-11:30 non-recurring
diff --git a/test/data/icalendar/import-non-recurring-1.diary-iso b/test/data/icalendar/import-non-recurring-1.diary-iso
new file mode 100644
index 00000000000..c7311286619
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-1.diary-iso
@@ -0,0 +1 @@
&2003/9/19 09:00-11:30 non-recurring
diff --git a/test/data/icalendar/import-non-recurring-1.ics b/test/data/icalendar/import-non-recurring-1.ics
new file mode 100644
index 00000000000..cd471efc861
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-1.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:non-recurring
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8END:VEVENT
9END:VCALENDAR
10
diff --git a/test/data/icalendar/import-non-recurring-all-day.diary-american b/test/data/icalendar/import-non-recurring-all-day.diary-american
new file mode 100644
index 00000000000..1d4bb6a337e
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-all-day.diary-american
@@ -0,0 +1 @@
&9/19/2003 non-recurring allday
diff --git a/test/data/icalendar/import-non-recurring-all-day.diary-european b/test/data/icalendar/import-non-recurring-all-day.diary-european
new file mode 100644
index 00000000000..b56c7f4e17f
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-all-day.diary-european
@@ -0,0 +1 @@
&19/9/2003 non-recurring allday
diff --git a/test/data/icalendar/import-non-recurring-all-day.diary-iso b/test/data/icalendar/import-non-recurring-all-day.diary-iso
new file mode 100644
index 00000000000..f1c70ab34c3
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-all-day.diary-iso
@@ -0,0 +1 @@
&2003/9/19 non-recurring allday
diff --git a/test/data/icalendar/import-non-recurring-all-day.ics b/test/data/icalendar/import-non-recurring-all-day.ics
new file mode 100644
index 00000000000..4efa8ffa133
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-all-day.ics
@@ -0,0 +1,9 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:non-recurring allday
6DTSTART;VALUE=DATE-TIME:20030919
7END:VEVENT
8END:VCALENDAR
9
diff --git a/test/data/icalendar/import-non-recurring-another-example.diary-american b/test/data/icalendar/import-non-recurring-another-example.diary-american
new file mode 100644
index 00000000000..2eb8c0ab686
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-another-example.diary-american
@@ -0,0 +1,4 @@
1&11/23/2004 14:45-15:45 another example
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 6161a312-3902-11d9-b512-f764153bb28b
diff --git a/test/data/icalendar/import-non-recurring-another-example.diary-european b/test/data/icalendar/import-non-recurring-another-example.diary-european
new file mode 100644
index 00000000000..394eae8bb77
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-another-example.diary-european
@@ -0,0 +1,4 @@
1&23/11/2004 14:45-15:45 another example
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 6161a312-3902-11d9-b512-f764153bb28b
diff --git a/test/data/icalendar/import-non-recurring-another-example.diary-iso b/test/data/icalendar/import-non-recurring-another-example.diary-iso
new file mode 100644
index 00000000000..5e8bdf417d5
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-another-example.diary-iso
@@ -0,0 +1,4 @@
1&2004/11/23 14:45-15:45 another example
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 6161a312-3902-11d9-b512-f764153bb28b
diff --git a/test/data/icalendar/import-non-recurring-another-example.ics b/test/data/icalendar/import-non-recurring-another-example.ics
new file mode 100644
index 00000000000..b145e418791
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-another-example.ics
@@ -0,0 +1,23 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID
6 :6161a312-3902-11d9-b512-f764153bb28b
7SUMMARY
8 :another example
9STATUS
10 :TENTATIVE
11CLASS
12 :PRIVATE
13X-MOZILLA-ALARM-DEFAULT-LENGTH
14 :0
15DTSTART
16 :20041123T144500
17DTEND
18 :20041123T154500
19DTSTAMP
20 :20041118T013641Z
21END:VEVENT
22END:VCALENDAR
23
diff --git a/test/data/icalendar/import-non-recurring-block.diary-american b/test/data/icalendar/import-non-recurring-block.diary-american
new file mode 100644
index 00000000000..b22234229cf
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-block.diary-american
@@ -0,0 +1,4 @@
1&%%(and (diary-block 7 19 2004 8 27 2004)) Sommerferien
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
diff --git a/test/data/icalendar/import-non-recurring-block.diary-european b/test/data/icalendar/import-non-recurring-block.diary-european
new file mode 100644
index 00000000000..8043482442f
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-block.diary-european
@@ -0,0 +1,4 @@
1&%%(and (diary-block 19 7 2004 27 8 2004)) Sommerferien
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
diff --git a/test/data/icalendar/import-non-recurring-block.diary-iso b/test/data/icalendar/import-non-recurring-block.diary-iso
new file mode 100644
index 00000000000..e0f1896114f
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-block.diary-iso
@@ -0,0 +1,4 @@
1&%%(and (diary-block 2004 7 19 2004 8 27)) Sommerferien
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
diff --git a/test/data/icalendar/import-non-recurring-block.ics b/test/data/icalendar/import-non-recurring-block.ics
new file mode 100644
index 00000000000..0c52ba3d66a
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-block.ics
@@ -0,0 +1,16 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID:748f2da0-0d9b-11d8-97af-b4ec8686ea61
6SUMMARY:Sommerferien
7STATUS:TENTATIVE
8CLASS:PRIVATE
9X-MOZILLA-ALARM-DEFAULT-UNITS:Minuten
10X-MOZILLA-RECUR-DEFAULT-INTERVAL:0
11DTSTART;VALUE=DATE:20040719
12DTEND;VALUE=DATE:20040828
13DTSTAMP:20031103T011641Z
14END:VEVENT
15END:VCALENDAR
16
diff --git a/test/data/icalendar/import-non-recurring-folded-summary.diary-american b/test/data/icalendar/import-non-recurring-folded-summary.diary-american
new file mode 100644
index 00000000000..2954d0c4fd1
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-folded-summary.diary-american
@@ -0,0 +1,4 @@
1&11/23/2004 14:00-14:30 folded summary
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 04979712-3902-11d9-93dd-8f9f4afe08da
diff --git a/test/data/icalendar/import-non-recurring-folded-summary.diary-european b/test/data/icalendar/import-non-recurring-folded-summary.diary-european
new file mode 100644
index 00000000000..7745fc811b4
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-folded-summary.diary-european
@@ -0,0 +1,4 @@
1&23/11/2004 14:00-14:30 folded summary
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 04979712-3902-11d9-93dd-8f9f4afe08da
diff --git a/test/data/icalendar/import-non-recurring-folded-summary.diary-iso b/test/data/icalendar/import-non-recurring-folded-summary.diary-iso
new file mode 100644
index 00000000000..8c19a95ed2d
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-folded-summary.diary-iso
@@ -0,0 +1,4 @@
1&2004/11/23 14:00-14:30 folded summary
2 Status: TENTATIVE
3 Class: PRIVATE
4 UID: 04979712-3902-11d9-93dd-8f9f4afe08da
diff --git a/test/data/icalendar/import-non-recurring-folded-summary.ics b/test/data/icalendar/import-non-recurring-folded-summary.ics
new file mode 100644
index 00000000000..e3ecee9dae8
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-folded-summary.ics
@@ -0,0 +1,25 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID
6 :04979712-3902-11d9-93dd-8f9f4afe08da
7SUMMARY
8 :folded summary
9STATUS
10 :TENTATIVE
11CLASS
12 :PRIVATE
13X-MOZILLA-ALARM-DEFAULT-LENGTH
14 :0
15DTSTART
16 :20041123T140000
17DTEND
18 :20041123T143000
19DTSTAMP
20 :20041118T013430Z
21LAST-MODIFIED
22 :20041118T013640Z
23END:VEVENT
24END:VCALENDAR
25
diff --git a/test/data/icalendar/import-non-recurring-long-summary.diary-american b/test/data/icalendar/import-non-recurring-long-summary.diary-american
new file mode 100644
index 00000000000..84cd464c568
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-long-summary.diary-american
@@ -0,0 +1 @@
&9/19/2003 long summary
diff --git a/test/data/icalendar/import-non-recurring-long-summary.diary-european b/test/data/icalendar/import-non-recurring-long-summary.diary-european
new file mode 100644
index 00000000000..5d6524202c3
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-long-summary.diary-european
@@ -0,0 +1 @@
&19/9/2003 long summary
diff --git a/test/data/icalendar/import-non-recurring-long-summary.diary-iso b/test/data/icalendar/import-non-recurring-long-summary.diary-iso
new file mode 100644
index 00000000000..d2300522d9a
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-long-summary.diary-iso
@@ -0,0 +1 @@
&2003/9/19 long summary
diff --git a/test/data/icalendar/import-non-recurring-long-summary.ics b/test/data/icalendar/import-non-recurring-long-summary.ics
new file mode 100644
index 00000000000..39ae02f10ca
--- /dev/null
+++ b/test/data/icalendar/import-non-recurring-long-summary.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:long
6 summary
7DTSTART;VALUE=DATE:20030919
8END:VEVENT
9END:VCALENDAR
10
diff --git a/test/data/icalendar/import-real-world-2003-05-29.diary-american b/test/data/icalendar/import-real-world-2003-05-29.diary-american
new file mode 100644
index 00000000000..e6c8712d254
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-05-29.diary-american
@@ -0,0 +1,6 @@
1&5/9/2003 07:00-12:00 On-Site Interview
2 Desc: 10:30am - Blah
3 Location: Cccc
4 Organizer: MAILTO:aaaaaaa@aaaaaaa.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000010000000DB823520692542408ED02D7023F9DFF9
diff --git a/test/data/icalendar/import-real-world-2003-05-29.diary-european b/test/data/icalendar/import-real-world-2003-05-29.diary-european
new file mode 100644
index 00000000000..cecca070a51
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-05-29.diary-european
@@ -0,0 +1,6 @@
1&9/5/2003 07:00-12:00 On-Site Interview
2 Desc: 10:30am - Blah
3 Location: Cccc
4 Organizer: MAILTO:aaaaaaa@aaaaaaa.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000010000000DB823520692542408ED02D7023F9DFF9
diff --git a/test/data/icalendar/import-real-world-2003-05-29.ics b/test/data/icalendar/import-real-world-2003-05-29.ics
new file mode 100644
index 00000000000..decc8df5451
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-05-29.ics
@@ -0,0 +1,54 @@
1BEGIN:VCALENDAR
2METHOD:REQUEST
3PRODID:Microsoft CDO for Microsoft Exchange
4VERSION:2.0
5BEGIN:VTIMEZONE
6TZID:Kolkata, Chennai, Mumbai, New Delhi
7X-MICROSOFT-CDO-TZID:23
8BEGIN:STANDARD
9DTSTART:16010101T000000
10TZOFFSETFROM:+0530
11TZOFFSETTO:+0530
12END:STANDARD
13BEGIN:DAYLIGHT
14DTSTART:16010101T000000
15TZOFFSETFROM:+0530
16TZOFFSETTO:+0530
17END:DAYLIGHT
18END:VTIMEZONE
19BEGIN:VEVENT
20DTSTAMP:20030509T043439Z
21DTSTART;TZID="Kolkata, Chennai, Mumbai, New Delhi":20030509T103000
22SUMMARY:On-Site Interview
23UID:040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000
24 010000000DB823520692542408ED02D7023F9DFF9
25ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Xxxxx
26 xxx Xxxxxxxxxxxx":MAILTO:xxxxxxxx@xxxxxxx.com
27ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Yyyyyyy Y
28 yyyy":MAILTO:yyyyyyy@yyyyyyy.com
29ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Zzzz Zzzz
30 zz":MAILTO:zzzzzz@zzzzzzz.com
31ORGANIZER;CN="Aaaaaa Aaaaa":MAILTO:aaaaaaa@aaaaaaa.com
32LOCATION:Cccc
33DTEND;TZID="Kolkata, Chennai, Mumbai, New Delhi":20030509T153000
34DESCRIPTION:10:30am - Blah
35SEQUENCE:0
36PRIORITY:5
37CLASS:
38CREATED:20030509T043439Z
39LAST-MODIFIED:20030509T043459Z
40STATUS:CONFIRMED
41TRANSP:OPAQUE
42X-MICROSOFT-CDO-BUSYSTATUS:BUSY
43X-MICROSOFT-CDO-INSTTYPE:0
44X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
45X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
46X-MICROSOFT-CDO-IMPORTANCE:1
47X-MICROSOFT-CDO-OWNERAPPTID:126441427
48BEGIN:VALARM
49ACTION:DISPLAY
50DESCRIPTION:REMINDER
51TRIGGER;RELATED=START:-PT00H15M00S
52END:VALARM
53END:VEVENT
54END:VCALENDAR
diff --git a/test/data/icalendar/import-real-world-2003-06-18a.diary-american b/test/data/icalendar/import-real-world-2003-06-18a.diary-american
new file mode 100644
index 00000000000..f2c914184e7
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18a.diary-american
@@ -0,0 +1,6 @@
1&6/23/2003 11:00-12:00 Dress Rehearsal for XXXX-XXXX
2 Desc: 753 Zeichen hier radiert
3 Location: 555 or TN 555-5555 ID 5555 & NochWas (see below)
4 Organizer: MAILTO:xxx@xxxxx.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
diff --git a/test/data/icalendar/import-real-world-2003-06-18a.diary-european b/test/data/icalendar/import-real-world-2003-06-18a.diary-european
new file mode 100644
index 00000000000..89cff58af42
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18a.diary-european
@@ -0,0 +1,6 @@
1&23/6/2003 11:00-12:00 Dress Rehearsal for XXXX-XXXX
2 Desc: 753 Zeichen hier radiert
3 Location: 555 or TN 555-5555 ID 5555 & NochWas (see below)
4 Organizer: MAILTO:xxx@xxxxx.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
diff --git a/test/data/icalendar/import-real-world-2003-06-18a.ics b/test/data/icalendar/import-real-world-2003-06-18a.ics
new file mode 100644
index 00000000000..6bb5b05af17
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18a.ics
@@ -0,0 +1,36 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTAMP:20030618T195512Z
6DTSTART;TZID="Mountain Time (US & Canada)":20030623T110000
7SUMMARY:Dress Rehearsal for XXXX-XXXX
8UID:040000008200E00074C5B7101A82E00800000000608AA7DA9835C301000000000000000
9 0100000007C3A6D65EE726E40B7F3D69A23BD567E
10ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="AAAAA,AAA
11 AA (A-AAAAAAA,ex1)":MAILTO:aaaaa_aaaaa@aaaaa.com
12ORGANIZER;CN="ABCD,TECHTRAINING
13 (A-Americas,exgen1)":MAILTO:xxx@xxxxx.com
14LOCATION:555 or TN 555-5555 ID 5555 & NochWas (see below)
15DTEND;TZID="Mountain Time (US & Canada)":20030623T120000
16DESCRIPTION:753 Zeichen hier radiert
17SEQUENCE:0
18PRIORITY:5
19CLASS:
20CREATED:20030618T195518Z
21LAST-MODIFIED:20030618T195527Z
22STATUS:CONFIRMED
23TRANSP:OPAQUE
24X-MICROSOFT-CDO-BUSYSTATUS:BUSY
25X-MICROSOFT-CDO-INSTTYPE:0
26X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
27X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
28X-MICROSOFT-CDO-IMPORTANCE:1
29X-MICROSOFT-CDO-OWNERAPPTID:1022519251
30BEGIN:VALARM
31ACTION:DISPLAY
32DESCRIPTION:REMINDER
33TRIGGER;RELATED=START:-PT00H15M00S
34END:VALARM
35END:VEVENT
36END:VCALENDAR
diff --git a/test/data/icalendar/import-real-world-2003-06-18b.diary-american b/test/data/icalendar/import-real-world-2003-06-18b.diary-american
new file mode 100644
index 00000000000..2c0774cdd83
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18b.diary-american
@@ -0,0 +1,6 @@
1&6/23/2003 17:00-18:00 Updated: Dress Rehearsal for ABC01-15
2 Desc: Viele Zeichen standen hier früher
3 Location: 123 or TN 123-1234 ID abcd & SonstWo (see below)
4 Organizer: MAILTO:bbb@bbbbb.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
diff --git a/test/data/icalendar/import-real-world-2003-06-18b.diary-european b/test/data/icalendar/import-real-world-2003-06-18b.diary-european
new file mode 100644
index 00000000000..95aac168699
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18b.diary-european
@@ -0,0 +1,6 @@
1&23/6/2003 17:00-18:00 Updated: Dress Rehearsal for ABC01-15
2 Desc: Viele Zeichen standen hier früher
3 Location: 123 or TN 123-1234 ID abcd & SonstWo (see below)
4 Organizer: MAILTO:bbb@bbbbb.com
5 Status: CONFIRMED
6 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
diff --git a/test/data/icalendar/import-real-world-2003-06-18b.ics b/test/data/icalendar/import-real-world-2003-06-18b.ics
new file mode 100644
index 00000000000..1523135adf3
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2003-06-18b.ics
@@ -0,0 +1,55 @@
1BEGIN:VCALENDAR
2METHOD:REQUEST
3PRODID:Microsoft CDO for Microsoft Exchange
4VERSION:2.0
5BEGIN:VTIMEZONE
6TZID:Mountain Time (US & Canada)
7X-MICROSOFT-CDO-TZID:12
8BEGIN:STANDARD
9DTSTART:16010101T020000
10TZOFFSETFROM:-0600
11TZOFFSETTO:-0700
12RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=10;BYDAY=-1SU
13END:STANDARD
14BEGIN:DAYLIGHT
15DTSTART:16010101T020000
16TZOFFSETFROM:-0700
17TZOFFSETTO:-0600
18RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=4;BYDAY=1SU
19END:DAYLIGHT
20END:VTIMEZONE
21BEGIN:VEVENT
22DTSTAMP:20030618T230323Z
23DTSTART;TZID="Mountain Time (US & Canada)":20030623T090000
24SUMMARY:Updated: Dress Rehearsal for ABC01-15
25UID:040000008200E00074C5B7101A82E00800000000608AA7DA9835C301000000000000000
26 0100000007C3A6D65EE726E40B7F3D69A23BD567E
27ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;X-REPLYTIME=20030618T20
28 0700Z;RSVP=TRUE;CN="AAAAA,AAAAAA
29\(A-AAAAAAA,ex1)":MAILTO:aaaaaa_aaaaa@aaaaa
30 .com
31ORGANIZER;CN="ABCD,TECHTRAINING
32\(A-Americas,exgen1)":MAILTO:bbb@bbbbb.com
33LOCATION:123 or TN 123-1234 ID abcd & SonstWo (see below)
34DTEND;TZID="Mountain Time (US & Canada)":20030623T100000
35DESCRIPTION:Viele Zeichen standen hier früher
36SEQUENCE:0
37PRIORITY:5
38CLASS:
39CREATED:20030618T230326Z
40LAST-MODIFIED:20030618T230335Z
41STATUS:CONFIRMED
42TRANSP:OPAQUE
43X-MICROSOFT-CDO-BUSYSTATUS:BUSY
44X-MICROSOFT-CDO-INSTTYPE:0
45X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
46X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
47X-MICROSOFT-CDO-IMPORTANCE:1
48X-MICROSOFT-CDO-OWNERAPPTID:1022519251
49BEGIN:VALARM
50ACTION:DISPLAY
51DESCRIPTION:REMINDER
52TRIGGER;RELATED=START:-PT00H15M00S
53END:VALARM
54END:VEVENT
55END:VCALENDAR \ No newline at end of file
diff --git a/test/data/icalendar/import-real-world-2004-11-19.diary-american b/test/data/icalendar/import-real-world-2004-11-19.diary-american
new file mode 100644
index 00000000000..a986f700ba2
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2004-11-19.diary-american
@@ -0,0 +1,19 @@
1&11/23/2004 14:00-14:30 Jjjjj & Wwwww
2 Status: TENTATIVE
3 Class: PRIVATE
4&11/23/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
5 Status: TENTATIVE
6 Class: PRIVATE
7&11/23/2004 11:00-12:00 Hhhhhhhh
8 Status: TENTATIVE
9 Class: PRIVATE
10&%%(and (diary-cyclic 14 11 12 2004)) 14:00-18:30 MMM Aaaaaaaaa
11 Status: TENTATIVE
12 Class: PRIVATE
13&%%(and (diary-block 11 19 2004 11 19 2004)) Rrrr/Cccccc ii Aaaaaaaa
14 Desc: Vvvvv Rrrr aaa Cccccc
15 Status: TENTATIVE
16 Class: PRIVATE
17&%%(and (diary-cyclic 7 11 1 2004)) Wwww aa hhhh
18 Status: TENTATIVE
19 Class: PRIVATE
diff --git a/test/data/icalendar/import-real-world-2004-11-19.diary-european b/test/data/icalendar/import-real-world-2004-11-19.diary-european
new file mode 100644
index 00000000000..cbfe99eb8e3
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2004-11-19.diary-european
@@ -0,0 +1,19 @@
1&23/11/2004 14:00-14:30 Jjjjj & Wwwww
2 Status: TENTATIVE
3 Class: PRIVATE
4&23/11/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
5 Status: TENTATIVE
6 Class: PRIVATE
7&23/11/2004 11:00-12:00 Hhhhhhhh
8 Status: TENTATIVE
9 Class: PRIVATE
10&%%(and (diary-cyclic 14 12 11 2004)) 14:00-18:30 MMM Aaaaaaaaa
11 Status: TENTATIVE
12 Class: PRIVATE
13&%%(and (diary-block 19 11 2004 19 11 2004)) Rrrr/Cccccc ii Aaaaaaaa
14 Desc: Vvvvv Rrrr aaa Cccccc
15 Status: TENTATIVE
16 Class: PRIVATE
17&%%(and (diary-cyclic 7 1 11 2004)) Wwww aa hhhh
18 Status: TENTATIVE
19 Class: PRIVATE
diff --git a/test/data/icalendar/import-real-world-2004-11-19.ics b/test/data/icalendar/import-real-world-2004-11-19.ics
new file mode 100644
index 00000000000..9edb682fcad
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2004-11-19.ics
@@ -0,0 +1,120 @@
1BEGIN:VCALENDAR
2VERSION
3 :2.0
4PRODID
5 :-//Mozilla.org/NONSGML Mozilla Calendar V1.0//EN
6BEGIN:VEVENT
7SUMMARY
8 :Jjjjj & Wwwww
9STATUS
10 :TENTATIVE
11CLASS
12 :PRIVATE
13X-MOZILLA-ALARM-DEFAULT-LENGTH
14 :0
15DTSTART
16 :20041123T140000
17DTEND
18 :20041123T143000
19DTSTAMP
20 :20041118T013430Z
21LAST-MODIFIED
22 :20041118T013640Z
23END:VEVENT
24BEGIN:VEVENT
25SUMMARY
26 :BB Aaaaaaaa Bbbbb
27STATUS
28 :TENTATIVE
29CLASS
30 :PRIVATE
31X-MOZILLA-ALARM-DEFAULT-LENGTH
32 :0
33DTSTART
34 :20041123T144500
35DTEND
36 :20041123T154500
37DTSTAMP
38 :20041118T013641Z
39END:VEVENT
40BEGIN:VEVENT
41SUMMARY
42 :Hhhhhhhh
43STATUS
44 :TENTATIVE
45CLASS
46 :PRIVATE
47X-MOZILLA-ALARM-DEFAULT-LENGTH
48 :0
49DTSTART
50 :20041123T110000
51DTEND
52 :20041123T120000
53DTSTAMP
54 :20041118T013831Z
55END:VEVENT
56BEGIN:VEVENT
57SUMMARY
58 :MMM Aaaaaaaaa
59STATUS
60 :TENTATIVE
61CLASS
62 :PRIVATE
63X-MOZILLA-ALARM-DEFAULT-LENGTH
64 :0
65X-MOZILLA-RECUR-DEFAULT-INTERVAL
66 :2
67RRULE
68 :FREQ=WEEKLY;INTERVAL=2;BYDAY=FR
69DTSTART
70 :20041112T140000
71DTEND
72 :20041112T183000
73DTSTAMP
74 :20041118T014117Z
75END:VEVENT
76BEGIN:VEVENT
77SUMMARY
78 :Rrrr/Cccccc ii Aaaaaaaa
79DESCRIPTION
80 :Vvvvv Rrrr aaa Cccccc
81STATUS
82 :TENTATIVE
83CLASS
84 :PRIVATE
85X-MOZILLA-ALARM-DEFAULT-LENGTH
86 :0
87DTSTART
88 ;VALUE=DATE
89 :20041119
90DTEND
91 ;VALUE=DATE
92 :20041120
93DTSTAMP
94 :20041118T013107Z
95LAST-MODIFIED
96 :20041118T014203Z
97END:VEVENT
98BEGIN:VEVENT
99SUMMARY
100 :Wwww aa hhhh
101STATUS
102 :TENTATIVE
103CLASS
104 :PRIVATE
105X-MOZILLA-ALARM-DEFAULT-LENGTH
106 :0
107RRULE
108 :FREQ=WEEKLY;INTERVAL=1;BYDAY=MO
109DTSTART
110 ;VALUE=DATE
111 :20041101
112DTEND
113 ;VALUE=DATE
114 :20041102
115DTSTAMP
116 :20041118T014045Z
117LAST-MODIFIED
118 :20041118T023846Z
119END:VEVENT
120END:VCALENDAR
diff --git a/test/data/icalendar/import-real-world-2005-02-07.diary-american b/test/data/icalendar/import-real-world-2005-02-07.diary-american
new file mode 100644
index 00000000000..ce7d835d96b
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-02-07.diary-american
@@ -0,0 +1,5 @@
1&%%(and (diary-block 2 6 2005 2 6 2005)) Waitangi Day
2 Desc: abcdef
3 Status: CONFIRMED
4 Class: PRIVATE
5 UID: b60d398e-1dd1-11b2-a159-cf8cb05139f4
diff --git a/test/data/icalendar/import-real-world-2005-02-07.diary-european b/test/data/icalendar/import-real-world-2005-02-07.diary-european
new file mode 100644
index 00000000000..3a52b0ab271
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-02-07.diary-european
@@ -0,0 +1,5 @@
1&%%(and (diary-block 6 2 2005 6 2 2005)) Waitangi Day
2 Desc: abcdef
3 Status: CONFIRMED
4 Class: PRIVATE
5 UID: b60d398e-1dd1-11b2-a159-cf8cb05139f4
diff --git a/test/data/icalendar/import-real-world-2005-02-07.ics b/test/data/icalendar/import-real-world-2005-02-07.ics
new file mode 100644
index 00000000000..9eec71fe751
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-02-07.ics
@@ -0,0 +1,26 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID
6 :b60d398e-1dd1-11b2-a159-cf8cb05139f4
7SUMMARY
8 :Waitangi Day
9DESCRIPTION
10 :abcdef
11CATEGORIES
12 :Public Holiday
13STATUS
14 :CONFIRMED
15CLASS
16 :PRIVATE
17DTSTART
18 ;VALUE=DATE
19 :20050206
20DTEND
21 ;VALUE=DATE
22 :20050207
23DTSTAMP
24 :20050128T011209Z
25END:VEVENT
26END:VCALENDAR
diff --git a/test/data/icalendar/import-real-world-2005-03-01.diary-american b/test/data/icalendar/import-real-world-2005-03-01.diary-american
new file mode 100644
index 00000000000..23c93d45d9a
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-03-01.diary-american
@@ -0,0 +1,2 @@
1&%%(and (diary-block 2 17 2005 2 23 2005)) Hhhhhh Aaaaa ii Aaaaaaaa
2 UID: 6AFA7558-6994-11D9-8A3A-000A95A0E830-RID
diff --git a/test/data/icalendar/import-real-world-2005-03-01.diary-european b/test/data/icalendar/import-real-world-2005-03-01.diary-european
new file mode 100644
index 00000000000..106e9f3cdd0
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-03-01.diary-european
@@ -0,0 +1,2 @@
1&%%(and (diary-block 17 2 2005 23 2 2005)) Hhhhhh Aaaaa ii Aaaaaaaa
2 UID: 6AFA7558-6994-11D9-8A3A-000A95A0E830-RID
diff --git a/test/data/icalendar/import-real-world-2005-03-01.ics b/test/data/icalendar/import-real-world-2005-03-01.ics
new file mode 100644
index 00000000000..ed9faa9b0bd
--- /dev/null
+++ b/test/data/icalendar/import-real-world-2005-03-01.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTART;VALUE=DATE:20050217
6SUMMARY:Hhhhhh Aaaaa ii Aaaaaaaa
7UID:6AFA7558-6994-11D9-8A3A-000A95A0E830-RID
8DTSTAMP:20050118T210335Z
9DURATION:P7D
10END:VEVENT
11END:VCALENDAR
diff --git a/test/data/icalendar/import-real-world-no-dst.diary-american b/test/data/icalendar/import-real-world-no-dst.diary-american
new file mode 100644
index 00000000000..290edb88760
--- /dev/null
+++ b/test/data/icalendar/import-real-world-no-dst.diary-american
@@ -0,0 +1,4 @@
1&11/16/2014 04:30-05:30 NoDST
2 Desc: Test event from timezone without DST
3 Location: Everywhere
4 UID: 20141116T171439Z-678877132@marudot.com
diff --git a/test/data/icalendar/import-real-world-no-dst.diary-european b/test/data/icalendar/import-real-world-no-dst.diary-european
new file mode 100644
index 00000000000..c56b7a6547a
--- /dev/null
+++ b/test/data/icalendar/import-real-world-no-dst.diary-european
@@ -0,0 +1,4 @@
1&16/11/2014 04:30-05:30 NoDST
2 Desc: Test event from timezone without DST
3 Location: Everywhere
4 UID: 20141116T171439Z-678877132@marudot.com
diff --git a/test/data/icalendar/import-real-world-no-dst.ics b/test/data/icalendar/import-real-world-no-dst.ics
new file mode 100644
index 00000000000..5f147af4f37
--- /dev/null
+++ b/test/data/icalendar/import-real-world-no-dst.ics
@@ -0,0 +1,26 @@
1BEGIN:VCALENDAR
2VERSION:2.0
3PRODID:-//www.marudot.com//iCal Event Maker
4X-WR-CALNAME:Test
5CALSCALE:GREGORIAN
6BEGIN:VTIMEZONE
7TZID:Asia/Tehran
8TZURL:http://tzurl.org/zoneinfo-outlook/Asia/Tehran
9X-LIC-LOCATION:Asia/Tehran
10BEGIN:STANDARD
11TZOFFSETFROM:+0330
12TZOFFSETTO:+0330
13TZNAME:IRST
14DTSTART:19700101T000000
15END:STANDARD
16END:VTIMEZONE
17BEGIN:VEVENT
18DTSTAMP:20141116T171439Z
19UID:20141116T171439Z-678877132@marudot.com
20DTSTART;TZID="Asia/Tehran":20141116T070000
21DTEND;TZID="Asia/Tehran":20141116T080000
22SUMMARY:NoDST
23DESCRIPTION:Test event from timezone without DST
24LOCATION:Everywhere
25END:VEVENT
26END:VCALENDAR \ No newline at end of file
diff --git a/test/data/icalendar/import-rrule-anniversary.diary-american b/test/data/icalendar/import-rrule-anniversary.diary-american
new file mode 100644
index 00000000000..7b86b554dd4
--- /dev/null
+++ b/test/data/icalendar/import-rrule-anniversary.diary-american
@@ -0,0 +1 @@
&%%(and (diary-anniversary 8 15 2004)) Maria Himmelfahrt
diff --git a/test/data/icalendar/import-rrule-anniversary.diary-european b/test/data/icalendar/import-rrule-anniversary.diary-european
new file mode 100644
index 00000000000..3b82ec09fd5
--- /dev/null
+++ b/test/data/icalendar/import-rrule-anniversary.diary-european
@@ -0,0 +1 @@
&%%(and (diary-anniversary 15 8 2004)) Maria Himmelfahrt
diff --git a/test/data/icalendar/import-rrule-anniversary.diary-iso b/test/data/icalendar/import-rrule-anniversary.diary-iso
new file mode 100644
index 00000000000..7fc99478d4e
--- /dev/null
+++ b/test/data/icalendar/import-rrule-anniversary.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-anniversary 2004 8 15)) Maria Himmelfahrt
diff --git a/test/data/icalendar/import-rrule-anniversary.ics b/test/data/icalendar/import-rrule-anniversary.ics
new file mode 100644
index 00000000000..2996f494167
--- /dev/null
+++ b/test/data/icalendar/import-rrule-anniversary.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5DTSTART;VALUE=DATE:20040815
6DTEND;VALUE=DATE:20040816
7SUMMARY:Maria Himmelfahrt
8RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=8
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-bi-weekly.diary-american b/test/data/icalendar/import-rrule-count-bi-weekly.diary-american
new file mode 100644
index 00000000000..84b6d109953
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-bi-weekly.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 14 9 19 2003) (diary-block 9 19 2003 10 31 2003)) 09:00-11:30 rrule count bi-weekly 3 times
diff --git a/test/data/icalendar/import-rrule-count-bi-weekly.diary-european b/test/data/icalendar/import-rrule-count-bi-weekly.diary-european
new file mode 100644
index 00000000000..0bebdf8872f
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-bi-weekly.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 14 19 9 2003) (diary-block 19 9 2003 31 10 2003)) 09:00-11:30 rrule count bi-weekly 3 times
diff --git a/test/data/icalendar/import-rrule-count-bi-weekly.diary-iso b/test/data/icalendar/import-rrule-count-bi-weekly.diary-iso
new file mode 100644
index 00000000000..11429081abe
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-bi-weekly.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 14 2003 9 19) (diary-block 2003 9 19 2003 10 31)) 09:00-11:30 rrule count bi-weekly 3 times
diff --git a/test/data/icalendar/import-rrule-count-bi-weekly.ics b/test/data/icalendar/import-rrule-count-bi-weekly.ics
new file mode 100644
index 00000000000..888b85bb331
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-bi-weekly.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count bi-weekly 3 times
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=WEEKLY;COUNT=3;INTERVAL=2
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-daily-long.diary-american b/test/data/icalendar/import-rrule-count-daily-long.diary-american
new file mode 100644
index 00000000000..23fe9fcaf32
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-long.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 9 19 2003) (diary-block 9 19 2003 10 2 2003)) 09:00-11:30 rrule count daily long
diff --git a/test/data/icalendar/import-rrule-count-daily-long.diary-european b/test/data/icalendar/import-rrule-count-daily-long.diary-european
new file mode 100644
index 00000000000..0d4ab669058
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-long.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 19 9 2003) (diary-block 19 9 2003 2 10 2003)) 09:00-11:30 rrule count daily long
diff --git a/test/data/icalendar/import-rrule-count-daily-long.diary-iso b/test/data/icalendar/import-rrule-count-daily-long.diary-iso
new file mode 100644
index 00000000000..8cecda5c879
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-long.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 2003 9 19) (diary-block 2003 9 19 2003 10 2)) 09:00-11:30 rrule count daily long
diff --git a/test/data/icalendar/import-rrule-count-daily-long.ics b/test/data/icalendar/import-rrule-count-daily-long.ics
new file mode 100644
index 00000000000..73df19a8196
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-long.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count daily long
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=DAILY;COUNT=14;INTERVAL=1
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-daily-short.diary-american b/test/data/icalendar/import-rrule-count-daily-short.diary-american
new file mode 100644
index 00000000000..d69bb08c318
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-short.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 9 19 2003) (diary-block 9 19 2003 9 19 2003)) 09:00-11:30 rrule count daily short
diff --git a/test/data/icalendar/import-rrule-count-daily-short.diary-european b/test/data/icalendar/import-rrule-count-daily-short.diary-european
new file mode 100644
index 00000000000..33a1ce4cf51
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-short.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 19 9 2003) (diary-block 19 9 2003 19 9 2003)) 09:00-11:30 rrule count daily short
diff --git a/test/data/icalendar/import-rrule-count-daily-short.diary-iso b/test/data/icalendar/import-rrule-count-daily-short.diary-iso
new file mode 100644
index 00000000000..a06bcba0dc1
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-short.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 2003 9 19) (diary-block 2003 9 19 2003 9 19)) 09:00-11:30 rrule count daily short
diff --git a/test/data/icalendar/import-rrule-count-daily-short.ics b/test/data/icalendar/import-rrule-count-daily-short.ics
new file mode 100644
index 00000000000..92ffe8be654
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-daily-short.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count daily short
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=DAILY;COUNT=1;INTERVAL=1
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-every-second-month.diary-american b/test/data/icalendar/import-rrule-count-every-second-month.diary-american
new file mode 100644
index 00000000000..4ce8ef842f8
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-month.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date t 19 t) (diary-block 9 19 2003 5 19 2004)) 09:00-11:30 rrule count every second month
diff --git a/test/data/icalendar/import-rrule-count-every-second-month.diary-european b/test/data/icalendar/import-rrule-count-every-second-month.diary-european
new file mode 100644
index 00000000000..09ec3756295
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-month.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 5 2004)) 09:00-11:30 rrule count every second month
diff --git a/test/data/icalendar/import-rrule-count-every-second-month.diary-iso b/test/data/icalendar/import-rrule-count-every-second-month.diary-iso
new file mode 100644
index 00000000000..ae6feb70d4c
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-month.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t t 19) (diary-block 2003 9 19 2004 5 19)) 09:00-11:30 rrule count every second month
diff --git a/test/data/icalendar/import-rrule-count-every-second-month.ics b/test/data/icalendar/import-rrule-count-every-second-month.ics
new file mode 100644
index 00000000000..3b27b665498
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-month.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count every second month
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=5
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-every-second-year.diary-american b/test/data/icalendar/import-rrule-count-every-second-year.diary-american
new file mode 100644
index 00000000000..99543aa9596
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-year.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date 9 19 t) (diary-block 9 19 2003 9 19 2011)) 09:00-11:30 rrule count every second year
diff --git a/test/data/icalendar/import-rrule-count-every-second-year.diary-european b/test/data/icalendar/import-rrule-count-every-second-year.diary-european
new file mode 100644
index 00000000000..3b330886ce0
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-year.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 9 t) (diary-block 19 9 2003 19 9 2011)) 09:00-11:30 rrule count every second year
diff --git a/test/data/icalendar/import-rrule-count-every-second-year.diary-iso b/test/data/icalendar/import-rrule-count-every-second-year.diary-iso
new file mode 100644
index 00000000000..16af52ea91c
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-year.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t 9 19) (diary-block 2003 9 19 2011 9 19)) 09:00-11:30 rrule count every second year
diff --git a/test/data/icalendar/import-rrule-count-every-second-year.ics b/test/data/icalendar/import-rrule-count-every-second-year.ics
new file mode 100644
index 00000000000..ce21c34d09a
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-every-second-year.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count every second year
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=5
9END:VEVENT
10END:VCALENDAR
diff --git a/test/data/icalendar/import-rrule-count-monthly.diary-american b/test/data/icalendar/import-rrule-count-monthly.diary-american
new file mode 100644
index 00000000000..ad5ca0b0ed4
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-monthly.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date t 19 t) (diary-block 9 19 2003 1 19 2004)) 09:00-11:30 rrule count monthly
diff --git a/test/data/icalendar/import-rrule-count-monthly.diary-european b/test/data/icalendar/import-rrule-count-monthly.diary-european
new file mode 100644
index 00000000000..709de3a3fd5
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-monthly.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 1 2004)) 09:00-11:30 rrule count monthly
diff --git a/test/data/icalendar/import-rrule-count-monthly.diary-iso b/test/data/icalendar/import-rrule-count-monthly.diary-iso
new file mode 100644
index 00000000000..9fc2a2def94
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-monthly.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t t 19) (diary-block 2003 9 19 2004 1 19)) 09:00-11:30 rrule count monthly
diff --git a/test/data/icalendar/import-rrule-count-monthly.ics b/test/data/icalendar/import-rrule-count-monthly.ics
new file mode 100644
index 00000000000..3391ca24252
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-monthly.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count monthly
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=5
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-count-yearly.diary-american b/test/data/icalendar/import-rrule-count-yearly.diary-american
new file mode 100644
index 00000000000..8c1f95b0c05
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-yearly.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date 9 19 t) (diary-block 9 19 2003 9 19 2007)) 09:00-11:30 rrule count yearly
diff --git a/test/data/icalendar/import-rrule-count-yearly.diary-european b/test/data/icalendar/import-rrule-count-yearly.diary-european
new file mode 100644
index 00000000000..e216e224eae
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-yearly.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 9 t) (diary-block 19 9 2003 19 9 2007)) 09:00-11:30 rrule count yearly
diff --git a/test/data/icalendar/import-rrule-count-yearly.diary-iso b/test/data/icalendar/import-rrule-count-yearly.diary-iso
new file mode 100644
index 00000000000..3801192ee60
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-yearly.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t 9 19) (diary-block 2003 9 19 2007 9 19)) 09:00-11:30 rrule count yearly
diff --git a/test/data/icalendar/import-rrule-count-yearly.ics b/test/data/icalendar/import-rrule-count-yearly.ics
new file mode 100644
index 00000000000..d8569933e0c
--- /dev/null
+++ b/test/data/icalendar/import-rrule-count-yearly.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule count yearly
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=5
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-daily-two-day.diary-american b/test/data/icalendar/import-rrule-daily-two-day.diary-american
new file mode 100644
index 00000000000..495fca5f8df
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-two-day.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 2 9 19 2003)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily-two-day.diary-european b/test/data/icalendar/import-rrule-daily-two-day.diary-european
new file mode 100644
index 00000000000..61db14ab24a
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-two-day.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 2 19 9 2003)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily-two-day.diary-iso b/test/data/icalendar/import-rrule-daily-two-day.diary-iso
new file mode 100644
index 00000000000..0e0a4b19781
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-two-day.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 2 2003 9 19)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily-two-day.ics b/test/data/icalendar/import-rrule-daily-two-day.ics
new file mode 100644
index 00000000000..8c9cb3b2845
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-two-day.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule daily
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=DAILY;INTERVAL=2
9END:VEVENT
10END:VCALENDAR
diff --git a/test/data/icalendar/import-rrule-daily-with-exceptions.diary-american b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-american
new file mode 100644
index 00000000000..83e5f582d5f
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-american
@@ -0,0 +1 @@
&%%(and (not (diary-date 9 25 2003)) (not (diary-date 9 21 2003)) (diary-cyclic 2 9 19 2003)) 09:00-11:30 rrule daily with exceptions
diff --git a/test/data/icalendar/import-rrule-daily-with-exceptions.diary-european b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-european
new file mode 100644
index 00000000000..a3c7fdd4177
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-european
@@ -0,0 +1 @@
&%%(and (not (diary-date 25 9 2003)) (not (diary-date 21 9 2003)) (diary-cyclic 2 19 9 2003)) 09:00-11:30 rrule daily with exceptions
diff --git a/test/data/icalendar/import-rrule-daily-with-exceptions.diary-iso b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-iso
new file mode 100644
index 00000000000..88b4c892d16
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-with-exceptions.diary-iso
@@ -0,0 +1 @@
&%%(and (not (diary-date 2003 9 25)) (not (diary-date 2003 9 21)) (diary-cyclic 2 2003 9 19)) 09:00-11:30 rrule daily with exceptions
diff --git a/test/data/icalendar/import-rrule-daily-with-exceptions.ics b/test/data/icalendar/import-rrule-daily-with-exceptions.ics
new file mode 100644
index 00000000000..5284bf42d8b
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily-with-exceptions.ics
@@ -0,0 +1,12 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule daily with exceptions
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=DAILY;INTERVAL=2
9EXDATE:20030921,20030925
10END:VEVENT
11END:VCALENDAR
12
diff --git a/test/data/icalendar/import-rrule-daily.diary-american b/test/data/icalendar/import-rrule-daily.diary-american
new file mode 100644
index 00000000000..9213270fa41
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 9 19 2003)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily.diary-european b/test/data/icalendar/import-rrule-daily.diary-european
new file mode 100644
index 00000000000..2c70cd7da55
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 19 9 2003)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily.diary-iso b/test/data/icalendar/import-rrule-daily.diary-iso
new file mode 100644
index 00000000000..b201cb44308
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 1 2003 9 19)) 09:00-11:30 rrule daily
diff --git a/test/data/icalendar/import-rrule-daily.ics b/test/data/icalendar/import-rrule-daily.ics
new file mode 100644
index 00000000000..6d013b0b4f6
--- /dev/null
+++ b/test/data/icalendar/import-rrule-daily.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule daily
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=DAILY;
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-monthly-no-end.diary-american b/test/data/icalendar/import-rrule-monthly-no-end.diary-american
new file mode 100644
index 00000000000..bc5453fe425
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-no-end.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date t 19 t) (diary-block 9 19 2003 1 1 9999)) 09:00-11:30 rrule monthly no end
diff --git a/test/data/icalendar/import-rrule-monthly-no-end.diary-european b/test/data/icalendar/import-rrule-monthly-no-end.diary-european
new file mode 100644
index 00000000000..f071519701d
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-no-end.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 t t) (diary-block 19 9 2003 1 1 9999)) 09:00-11:30 rrule monthly no end
diff --git a/test/data/icalendar/import-rrule-monthly-no-end.diary-iso b/test/data/icalendar/import-rrule-monthly-no-end.diary-iso
new file mode 100644
index 00000000000..3709e933337
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-no-end.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t t 19) (diary-block 2003 9 19 9999 1 1)) 09:00-11:30 rrule monthly no end
diff --git a/test/data/icalendar/import-rrule-monthly-no-end.ics b/test/data/icalendar/import-rrule-monthly-no-end.ics
new file mode 100644
index 00000000000..b871658600a
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-no-end.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule monthly no end
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=MONTHLY;
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-monthly-with-end.diary-american b/test/data/icalendar/import-rrule-monthly-with-end.diary-american
new file mode 100644
index 00000000000..638ab8b2327
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-with-end.diary-american
@@ -0,0 +1 @@
&%%(and (diary-date t 19 t) (diary-block 9 19 2003 8 19 2005)) 09:00-11:30 rrule monthly with end
diff --git a/test/data/icalendar/import-rrule-monthly-with-end.diary-european b/test/data/icalendar/import-rrule-monthly-with-end.diary-european
new file mode 100644
index 00000000000..c70cde25f32
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-with-end.diary-european
@@ -0,0 +1 @@
&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 8 2005)) 09:00-11:30 rrule monthly with end
diff --git a/test/data/icalendar/import-rrule-monthly-with-end.diary-iso b/test/data/icalendar/import-rrule-monthly-with-end.diary-iso
new file mode 100644
index 00000000000..ee51a2142a4
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-with-end.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-date t t 19) (diary-block 2003 9 19 2005 8 19)) 09:00-11:30 rrule monthly with end
diff --git a/test/data/icalendar/import-rrule-monthly-with-end.ics b/test/data/icalendar/import-rrule-monthly-with-end.ics
new file mode 100644
index 00000000000..d8a1fe2e5af
--- /dev/null
+++ b/test/data/icalendar/import-rrule-monthly-with-end.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule monthly with end
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=MONTHLY;UNTIL=20050819;
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-weekly.diary-american b/test/data/icalendar/import-rrule-weekly.diary-american
new file mode 100644
index 00000000000..d8bf2eba104
--- /dev/null
+++ b/test/data/icalendar/import-rrule-weekly.diary-american
@@ -0,0 +1 @@
&%%(and (diary-cyclic 7 9 19 2003)) 09:00-11:30 rrule weekly
diff --git a/test/data/icalendar/import-rrule-weekly.diary-european b/test/data/icalendar/import-rrule-weekly.diary-european
new file mode 100644
index 00000000000..e368fde9709
--- /dev/null
+++ b/test/data/icalendar/import-rrule-weekly.diary-european
@@ -0,0 +1 @@
&%%(and (diary-cyclic 7 19 9 2003)) 09:00-11:30 rrule weekly
diff --git a/test/data/icalendar/import-rrule-weekly.diary-iso b/test/data/icalendar/import-rrule-weekly.diary-iso
new file mode 100644
index 00000000000..49cd9d8ace6
--- /dev/null
+++ b/test/data/icalendar/import-rrule-weekly.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-cyclic 7 2003 9 19)) 09:00-11:30 rrule weekly
diff --git a/test/data/icalendar/import-rrule-weekly.ics b/test/data/icalendar/import-rrule-weekly.ics
new file mode 100644
index 00000000000..c3f0b8ae933
--- /dev/null
+++ b/test/data/icalendar/import-rrule-weekly.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule weekly
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=WEEKLY;
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-rrule-yearly.diary-american b/test/data/icalendar/import-rrule-yearly.diary-american
new file mode 100644
index 00000000000..a54780b9699
--- /dev/null
+++ b/test/data/icalendar/import-rrule-yearly.diary-american
@@ -0,0 +1 @@
&%%(and (diary-anniversary 9 19 2003)) 09:00-11:30 rrule yearly
diff --git a/test/data/icalendar/import-rrule-yearly.diary-european b/test/data/icalendar/import-rrule-yearly.diary-european
new file mode 100644
index 00000000000..a4bd81d6f2b
--- /dev/null
+++ b/test/data/icalendar/import-rrule-yearly.diary-european
@@ -0,0 +1 @@
&%%(and (diary-anniversary 19 9 2003)) 09:00-11:30 rrule yearly
diff --git a/test/data/icalendar/import-rrule-yearly.diary-iso b/test/data/icalendar/import-rrule-yearly.diary-iso
new file mode 100644
index 00000000000..65a7abe0344
--- /dev/null
+++ b/test/data/icalendar/import-rrule-yearly.diary-iso
@@ -0,0 +1 @@
&%%(and (diary-anniversary 2003 9 19)) 09:00-11:30 rrule yearly
diff --git a/test/data/icalendar/import-rrule-yearly.ics b/test/data/icalendar/import-rrule-yearly.ics
new file mode 100644
index 00000000000..21cca097f7e
--- /dev/null
+++ b/test/data/icalendar/import-rrule-yearly.ics
@@ -0,0 +1,11 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5SUMMARY:rrule yearly
6DTSTART;VALUE=DATE-TIME:20030919T090000
7DTEND;VALUE=DATE-TIME:20030919T113000
8RRULE:FREQ=YEARLY;INTERVAL=2
9END:VEVENT
10END:VCALENDAR
11
diff --git a/test/data/icalendar/import-with-timezone.diary-iso b/test/data/icalendar/import-with-timezone.diary-iso
new file mode 100644
index 00000000000..f99b59213e5
--- /dev/null
+++ b/test/data/icalendar/import-with-timezone.diary-iso
@@ -0,0 +1,2 @@
1&2012/1/15 15:00-15:30 standardtime
2&2012/12/15 11:00-11:30 daylightsavingtime
diff --git a/test/data/icalendar/import-with-timezone.ics b/test/data/icalendar/import-with-timezone.ics
new file mode 100644
index 00000000000..110a9835e41
--- /dev/null
+++ b/test/data/icalendar/import-with-timezone.ics
@@ -0,0 +1,27 @@
1BEGIN:VCALENDAR
2BEGIN:VTIMEZONE
3TZID:fictional, nonexistent, arbitrary
4BEGIN:STANDARD
5DTSTART:20100101T000000
6TZOFFSETFROM:+0200
7TZOFFSETTO:-0200
8RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=01
9END:STANDARD
10BEGIN:DAYLIGHT
11DTSTART:20101201T000000
12TZOFFSETFROM:-0200
13TZOFFSETTO:+0200
14RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
15END:DAYLIGHT
16END:VTIMEZONE
17BEGIN:VEVENT
18SUMMARY:standardtime
19DTSTART;TZID="fictional, nonexistent, arbitrary":20120115T120000
20DTEND;TZID="fictional, nonexistent, arbitrary":20120115T123000
21END:VEVENT
22BEGIN:VEVENT
23SUMMARY:daylightsavingtime
24DTSTART;TZID="fictional, nonexistent, arbitrary":20121215T120000
25DTEND;TZID="fictional, nonexistent, arbitrary":20121215T123000
26END:VEVENT
27END:VCALENDAR
diff --git a/test/data/icalendar/import-with-uid.diary-american b/test/data/icalendar/import-with-uid.diary-american
new file mode 100644
index 00000000000..9b2f06afc26
--- /dev/null
+++ b/test/data/icalendar/import-with-uid.diary-american
@@ -0,0 +1,2 @@
1&9/19/2003 09:00-11:30 non-recurring
2 UID: 1234567890uid
diff --git a/test/data/icalendar/import-with-uid.diary-european b/test/data/icalendar/import-with-uid.diary-european
new file mode 100644
index 00000000000..95db4d40151
--- /dev/null
+++ b/test/data/icalendar/import-with-uid.diary-european
@@ -0,0 +1,2 @@
1&19/9/2003 09:00-11:30 non-recurring
2 UID: 1234567890uid
diff --git a/test/data/icalendar/import-with-uid.diary-iso b/test/data/icalendar/import-with-uid.diary-iso
new file mode 100644
index 00000000000..d372e5a3d1f
--- /dev/null
+++ b/test/data/icalendar/import-with-uid.diary-iso
@@ -0,0 +1,2 @@
1&2003/9/19 09:00-11:30 non-recurring
2 UID: 1234567890uid
diff --git a/test/data/icalendar/import-with-uid.ics b/test/data/icalendar/import-with-uid.ics
new file mode 100644
index 00000000000..db412d9d9f5
--- /dev/null
+++ b/test/data/icalendar/import-with-uid.ics
@@ -0,0 +1,10 @@
1BEGIN:VCALENDAR
2PRODID:-//Emacs//NONSGML icalendar.el//EN
3VERSION:2.0
4BEGIN:VEVENT
5UID:1234567890uid
6SUMMARY:non-recurring
7DTSTART;VALUE=DATE-TIME:20030919T090000
8DTEND;VALUE=DATE-TIME:20030919T113000
9END:VEVENT
10END:VCALENDAR
diff --git a/test/lisp/calendar/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el
index bce7de769e0..5143c78632a 100644
--- a/test/lisp/calendar/icalendar-tests.el
+++ b/test/lisp/calendar/icalendar-tests.el
@@ -51,6 +51,20 @@
51 (replace-regexp-in-string "[ \t\n]+\\'" "" 51 (replace-regexp-in-string "[ \t\n]+\\'" ""
52 (replace-regexp-in-string "\\`[ \t\n]+" "" string))) 52 (replace-regexp-in-string "\\`[ \t\n]+" "" string)))
53 53
54(defconst icalendar-tests--data-dir
55 (expand-file-name "test/data/icalendar" source-directory))
56
57(defun icalendar-tests--get-file-contents (filename)
58 "Return contents of file in test data directory named FILENAME."
59 (with-temp-buffer
60 (let ((f1 (expand-file-name filename icalendar-tests--data-dir))
61 (f2 (expand-file-name filename "../../data/icalendar"))
62 (coding-system-for-read 'raw-text)
63 (inhibit-eol-conversion t))
64 (insert-file-contents-literally
65 (if (file-exists-p f1) f1 f2))
66 (buffer-string))))
67
54;; ====================================================================== 68;; ======================================================================
55;; Tests of functions 69;; Tests of functions
56;; ====================================================================== 70;; ======================================================================
@@ -963,13 +977,16 @@ END:VALARM
963;; Import tests 977;; Import tests
964;; ====================================================================== 978;; ======================================================================
965 979
966(defun icalendar-tests--test-import (input expected-iso expected-european 980(defun icalendar-tests--test-import (filename expected-iso expected-european
967 expected-american) 981 expected-american)
968 "Perform import test. 982 "Perform import test.
969Argument INPUT icalendar event string. 983Argument FILENAME ics file to import.
970Argument EXPECTED-ISO expected iso style diary string. 984Argument EXPECTED-ISO diary-file containing expected
971Argument EXPECTED-EUROPEAN expected european style diary string. 985iso-calendar-style result.
972Argument EXPECTED-AMERICAN expected american style diary string. 986Argument EXPECTED-EUROPEAN diary-file containing expected
987european-calendar-style result.
988Argument EXPECTED-AMERICAN diary-file containing expected
989american-calendar-style result.
973During import test the timezone is set to Central European Time." 990During import test the timezone is set to Central European Time."
974 (let ((timezone (getenv "TZ"))) 991 (let ((timezone (getenv "TZ")))
975 (unwind-protect 992 (unwind-protect
@@ -978,14 +995,7 @@ During import test the timezone is set to Central European Time."
978 ;; Eg hydra.nixos.org. 995 ;; Eg hydra.nixos.org.
979 (setenv "TZ" "CET-1CEST,M3.5.0/2,M10.5.0/3") 996 (setenv "TZ" "CET-1CEST,M3.5.0/2,M10.5.0/3")
980 (with-temp-buffer 997 (with-temp-buffer
981 (if (string-match "^BEGIN:VCALENDAR" input) 998 (insert (icalendar-tests--get-file-contents filename))
982 (insert input)
983 (insert "BEGIN:VCALENDAR\nPRODID:-//Emacs//NONSGML icalendar.el//EN\n")
984 (insert "VERSION:2.0\nBEGIN:VEVENT\n")
985 (insert input)
986 (unless (eq (char-before) ?\n)
987 (insert "\n"))
988 (insert "END:VEVENT\nEND:VCALENDAR\n"))
989 (let ((icalendar-import-format "%s%d%l%o%t%u%c%U") 999 (let ((icalendar-import-format "%s%d%l%o%t%u%c%U")
990 (icalendar-import-format-summary "%s") 1000 (icalendar-import-format-summary "%s")
991 (icalendar-import-format-location "\n Location: %s") 1001 (icalendar-import-format-location "\n Location: %s")
@@ -998,26 +1008,29 @@ During import test the timezone is set to Central European Time."
998 calendar-date-style) 1008 calendar-date-style)
999 (when expected-iso 1009 (when expected-iso
1000 (setq calendar-date-style 'iso) 1010 (setq calendar-date-style 'iso)
1001 (icalendar-tests--do-test-import input expected-iso)) 1011 (icalendar-tests--do-test-import
1012 (icalendar-tests--get-file-contents expected-iso)))
1002 (when expected-european 1013 (when expected-european
1003 (setq calendar-date-style 'european) 1014 (setq calendar-date-style 'european)
1004 (icalendar-tests--do-test-import input expected-european)) 1015 (icalendar-tests--do-test-import
1016 (icalendar-tests--get-file-contents expected-european)))
1005 (when expected-american 1017 (when expected-american
1006 (setq calendar-date-style 'american) 1018 (setq calendar-date-style 'american)
1007 (icalendar-tests--do-test-import input expected-american))))) 1019 (icalendar-tests--do-test-import
1020 (icalendar-tests--get-file-contents expected-american))))))
1008 (setenv "TZ" timezone)))) 1021 (setenv "TZ" timezone))))
1009 1022
1010(defun icalendar-tests--do-test-import (_input expected-output) 1023(defun icalendar-tests--do-test-import (expected-output)
1011 "Actually perform import test. 1024 "Actually perform import test.
1012Argument INPUT input icalendar string. 1025Argument EXPECTED-OUTPUT file containing expected diary string."
1013Argument EXPECTED-OUTPUT expected diary string."
1014 (let ((temp-file (make-temp-file "icalendar-test-diary"))) 1026 (let ((temp-file (make-temp-file "icalendar-test-diary")))
1015 ;; Test the Catch-the-mysterious-coding-header logic below. 1027 ;; Test the Catch-the-mysterious-coding-header logic below.
1016 ;; Ruby-mode adds an after-save-hook which inserts the header! 1028 ;; Ruby-mode adds an after-save-hook which inserts the header!
1017 ;; (save-excursion 1029 ;; (save-excursion
1018 ;; (find-file temp-file) 1030 ;; (find-file temp-file)
1019 ;; (ruby-mode)) 1031 ;; (ruby-mode))
1020 (icalendar-import-buffer temp-file t t) 1032 (let ((coding-system-for-write 'raw-text))
1033 (icalendar-import-buffer temp-file t t))
1021 (save-excursion 1034 (save-excursion
1022 (find-file temp-file) 1035 (find-file temp-file)
1023 ;; Check for the mysterious "# coding: ..." header, remove it 1036 ;; Check for the mysterious "# coding: ..." header, remove it
@@ -1045,452 +1058,135 @@ Argument EXPECTED-OUTPUT expected diary string."
1045 1058
1046(ert-deftest icalendar-import-non-recurring () 1059(ert-deftest icalendar-import-non-recurring ()
1047 "Perform standard import tests." 1060 "Perform standard import tests."
1048 (icalendar-tests--test-import 1061 (icalendar-tests--test-import "import-non-recurring-1.ics"
1049 "SUMMARY:non-recurring 1062 "import-non-recurring-1.diary-iso"
1050DTSTART;VALUE=DATE-TIME:20030919T090000 1063 "import-non-recurring-1.diary-european"
1051DTEND;VALUE=DATE-TIME:20030919T113000" 1064 "import-non-recurring-1.diary-american")
1052 "&2003/9/19 09:00-11:30 non-recurring\n" 1065 (icalendar-tests--test-import "import-non-recurring-all-day.ics"
1053 "&19/9/2003 09:00-11:30 non-recurring\n" 1066 "import-non-recurring-all-day.diary-iso"
1054 "&9/19/2003 09:00-11:30 non-recurring\n") 1067 "import-non-recurring-all-day.diary-european"
1055 (icalendar-tests--test-import 1068 "import-non-recurring-all-day.diary-american")
1056 "SUMMARY:non-recurring allday 1069 (icalendar-tests--test-import "import-non-recurring-long-summary.ics"
1057DTSTART;VALUE=DATE-TIME:20030919" 1070 "import-non-recurring-long-summary.diary-iso"
1058 "&2003/9/19 non-recurring allday\n" 1071 "import-non-recurring-long-summary.diary-european"
1059 "&19/9/2003 non-recurring allday\n" 1072 "import-non-recurring-long-summary.diary-american")
1060 "&9/19/2003 non-recurring allday\n") 1073 (icalendar-tests--test-import "import-non-recurring-block.ics"
1061 (icalendar-tests--test-import 1074 "import-non-recurring-block.diary-iso"
1062 ;; Checkdoc removes trailing blanks. Therefore: format! 1075 "import-non-recurring-block.diary-european"
1063 (format "%s\n%s\n%s" "SUMMARY:long " " summary" 1076 "import-non-recurring-block.diary-american")
1064 "DTSTART;VALUE=DATE:20030919") 1077 (icalendar-tests--test-import "import-non-recurring-folded-summary.ics"
1065 "&2003/9/19 long summary\n" 1078 "import-non-recurring-folded-summary.diary-iso"
1066 "&19/9/2003 long summary\n" 1079 "import-non-recurring-folded-summary.diary-european"
1067 "&9/19/2003 long summary\n") 1080 "import-non-recurring-folded-summary.diary-american")
1068 (icalendar-tests--test-import 1081 (icalendar-tests--test-import "import-non-recurring-another-example.ics"
1069 "UID:748f2da0-0d9b-11d8-97af-b4ec8686ea61 1082 "import-non-recurring-another-example.diary-iso"
1070SUMMARY:Sommerferien 1083 "import-non-recurring-another-example.diary-european"
1071STATUS:TENTATIVE 1084 "import-non-recurring-another-example.diary-american"))
1072CLASS:PRIVATE 1085
1073X-MOZILLA-ALARM-DEFAULT-UNITS:Minuten
1074X-MOZILLA-RECUR-DEFAULT-INTERVAL:0
1075DTSTART;VALUE=DATE:20040719
1076DTEND;VALUE=DATE:20040828
1077DTSTAMP:20031103T011641Z
1078"
1079 "&%%(and (diary-block 2004 7 19 2004 8 27)) Sommerferien
1080 Status: TENTATIVE
1081 Class: PRIVATE
1082 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
1083"
1084 "&%%(and (diary-block 19 7 2004 27 8 2004)) Sommerferien
1085 Status: TENTATIVE
1086 Class: PRIVATE
1087 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
1088"
1089 "&%%(and (diary-block 7 19 2004 8 27 2004)) Sommerferien
1090 Status: TENTATIVE
1091 Class: PRIVATE
1092 UID: 748f2da0-0d9b-11d8-97af-b4ec8686ea61
1093")
1094 (icalendar-tests--test-import
1095 "UID
1096 :04979712-3902-11d9-93dd-8f9f4afe08da
1097SUMMARY
1098 :folded summary
1099STATUS
1100 :TENTATIVE
1101CLASS
1102 :PRIVATE
1103X-MOZILLA-ALARM-DEFAULT-LENGTH
1104 :0
1105DTSTART
1106 :20041123T140000
1107DTEND
1108 :20041123T143000
1109DTSTAMP
1110 :20041118T013430Z
1111LAST-MODIFIED
1112 :20041118T013640Z
1113"
1114 "&2004/11/23 14:00-14:30 folded summary
1115 Status: TENTATIVE
1116 Class: PRIVATE
1117 UID: 04979712-3902-11d9-93dd-8f9f4afe08da\n"
1118 "&23/11/2004 14:00-14:30 folded summary
1119 Status: TENTATIVE
1120 Class: PRIVATE
1121 UID: 04979712-3902-11d9-93dd-8f9f4afe08da\n"
1122 "&11/23/2004 14:00-14:30 folded summary
1123 Status: TENTATIVE
1124 Class: PRIVATE
1125 UID: 04979712-3902-11d9-93dd-8f9f4afe08da\n")
1126
1127 (icalendar-tests--test-import
1128 "UID
1129 :6161a312-3902-11d9-b512-f764153bb28b
1130SUMMARY
1131 :another example
1132STATUS
1133 :TENTATIVE
1134CLASS
1135 :PRIVATE
1136X-MOZILLA-ALARM-DEFAULT-LENGTH
1137 :0
1138DTSTART
1139 :20041123T144500
1140DTEND
1141 :20041123T154500
1142DTSTAMP
1143 :20041118T013641Z
1144"
1145 "&2004/11/23 14:45-15:45 another example
1146 Status: TENTATIVE
1147 Class: PRIVATE
1148 UID: 6161a312-3902-11d9-b512-f764153bb28b\n"
1149 "&23/11/2004 14:45-15:45 another example
1150 Status: TENTATIVE
1151 Class: PRIVATE
1152 UID: 6161a312-3902-11d9-b512-f764153bb28b\n"
1153 "&11/23/2004 14:45-15:45 another example
1154 Status: TENTATIVE
1155 Class: PRIVATE
1156 UID: 6161a312-3902-11d9-b512-f764153bb28b\n"))
1157 1086
1158(ert-deftest icalendar-import-rrule () 1087(ert-deftest icalendar-import-rrule ()
1159 (icalendar-tests--test-import 1088 (icalendar-tests--test-import "import-rrule-daily.ics"
1160 "SUMMARY:rrule daily 1089 "import-rrule-daily.diary-iso"
1161DTSTART;VALUE=DATE-TIME:20030919T090000 1090 "import-rrule-daily.diary-european"
1162DTEND;VALUE=DATE-TIME:20030919T113000 1091 "import-rrule-daily.diary-american")
1163RRULE:FREQ=DAILY; 1092 (icalendar-tests--test-import "import-rrule-daily-two-day.ics"
1164" 1093 "import-rrule-daily-two-day.diary-iso"
1165 "&%%(and (diary-cyclic 1 2003 9 19)) 09:00-11:30 rrule daily\n" 1094 "import-rrule-daily-two-day.diary-european"
1166 "&%%(and (diary-cyclic 1 19 9 2003)) 09:00-11:30 rrule daily\n" 1095 "import-rrule-daily-two-day.diary-american")
1167 "&%%(and (diary-cyclic 1 9 19 2003)) 09:00-11:30 rrule daily\n") 1096 (icalendar-tests--test-import "import-rrule-daily-with-exceptions.ics"
1168 ;; RRULE examples 1097 "import-rrule-daily-with-exceptions.diary-iso"
1169 (icalendar-tests--test-import 1098 "import-rrule-daily-with-exceptions.diary-european"
1170 "SUMMARY:rrule daily 1099 "import-rrule-daily-with-exceptions.diary-american")
1171DTSTART;VALUE=DATE-TIME:20030919T090000 1100 (icalendar-tests--test-import "import-rrule-weekly.ics"
1172DTEND;VALUE=DATE-TIME:20030919T113000 1101 "import-rrule-weekly.diary-iso"
1173RRULE:FREQ=DAILY;INTERVAL=2 1102 "import-rrule-weekly.diary-european"
1174" 1103 "import-rrule-weekly.diary-american")
1175 "&%%(and (diary-cyclic 2 2003 9 19)) 09:00-11:30 rrule daily\n" 1104 (icalendar-tests--test-import "import-rrule-monthly-no-end.ics"
1176 "&%%(and (diary-cyclic 2 19 9 2003)) 09:00-11:30 rrule daily\n" 1105 "import-rrule-monthly-no-end.diary-iso"
1177 "&%%(and (diary-cyclic 2 9 19 2003)) 09:00-11:30 rrule daily\n") 1106 "import-rrule-monthly-no-end.diary-european"
1178 (icalendar-tests--test-import 1107 "import-rrule-monthly-no-end.diary-american")
1179 "SUMMARY:rrule daily with exceptions 1108 (icalendar-tests--test-import "import-rrule-monthly-with-end.ics"
1180DTSTART;VALUE=DATE-TIME:20030919T090000 1109 "import-rrule-monthly-with-end.diary-iso"
1181DTEND;VALUE=DATE-TIME:20030919T113000 1110 "import-rrule-monthly-with-end.diary-european"
1182RRULE:FREQ=DAILY;INTERVAL=2 1111 "import-rrule-monthly-with-end.diary-american")
1183EXDATE:20030921,20030925 1112 (icalendar-tests--test-import "import-rrule-anniversary.ics"
1184" 1113 "import-rrule-anniversary.diary-iso"
1185 "&%%(and (not (diary-date 2003 9 25)) (not (diary-date 2003 9 21)) (diary-cyclic 2 2003 9 19)) 09:00-11:30 rrule daily with exceptions\n" 1114 "import-rrule-anniversary.diary-european"
1186 "&%%(and (not (diary-date 25 9 2003)) (not (diary-date 21 9 2003)) (diary-cyclic 2 19 9 2003)) 09:00-11:30 rrule daily with exceptions\n" 1115 "import-rrule-anniversary.diary-american")
1187 "&%%(and (not (diary-date 9 25 2003)) (not (diary-date 9 21 2003)) (diary-cyclic 2 9 19 2003)) 09:00-11:30 rrule daily with exceptions\n") 1116 (icalendar-tests--test-import "import-rrule-yearly.ics"
1188 (icalendar-tests--test-import 1117 "import-rrule-yearly.diary-iso"
1189 "SUMMARY:rrule weekly 1118 "import-rrule-yearly.diary-european"
1190DTSTART;VALUE=DATE-TIME:20030919T090000 1119 "import-rrule-yearly.diary-american")
1191DTEND;VALUE=DATE-TIME:20030919T113000 1120 (icalendar-tests--test-import "import-rrule-count-daily-short.ics"
1192RRULE:FREQ=WEEKLY; 1121 "import-rrule-count-daily-short.diary-iso"
1193" 1122 "import-rrule-count-daily-short.diary-european"
1194 "&%%(and (diary-cyclic 7 2003 9 19)) 09:00-11:30 rrule weekly\n" 1123 "import-rrule-count-daily-short.diary-american")
1195 "&%%(and (diary-cyclic 7 19 9 2003)) 09:00-11:30 rrule weekly\n" 1124 (icalendar-tests--test-import "import-rrule-count-daily-long.ics"
1196 "&%%(and (diary-cyclic 7 9 19 2003)) 09:00-11:30 rrule weekly\n") 1125 "import-rrule-count-daily-long.diary-iso"
1197 (icalendar-tests--test-import 1126 "import-rrule-count-daily-long.diary-european"
1198 "SUMMARY:rrule monthly no end 1127 "import-rrule-count-daily-long.diary-american")
1199DTSTART;VALUE=DATE-TIME:20030919T090000 1128 (icalendar-tests--test-import "import-rrule-count-monthly.ics"
1200DTEND;VALUE=DATE-TIME:20030919T113000 1129 "import-rrule-count-monthly.diary-iso"
1201RRULE:FREQ=MONTHLY; 1130 "import-rrule-count-monthly.diary-european"
1202" 1131 "import-rrule-count-monthly.diary-american")
1203 "&%%(and (diary-date t t 19) (diary-block 2003 9 19 9999 1 1)) 09:00-11:30 rrule monthly no end\n" 1132 (icalendar-tests--test-import "import-rrule-count-every-second-month.ics"
1204 "&%%(and (diary-date 19 t t) (diary-block 19 9 2003 1 1 9999)) 09:00-11:30 rrule monthly no end\n" 1133 "import-rrule-count-every-second-month.diary-iso"
1205 "&%%(and (diary-date t 19 t) (diary-block 9 19 2003 1 1 9999)) 09:00-11:30 rrule monthly no end\n") 1134 "import-rrule-count-every-second-month.diary-european"
1206 (icalendar-tests--test-import 1135 "import-rrule-count-every-second-month.diary-american")
1207 "SUMMARY:rrule monthly with end 1136 (icalendar-tests--test-import "import-rrule-count-yearly.ics"
1208DTSTART;VALUE=DATE-TIME:20030919T090000 1137 "import-rrule-count-yearly.diary-iso"
1209DTEND;VALUE=DATE-TIME:20030919T113000 1138 "import-rrule-count-yearly.diary-european"
1210RRULE:FREQ=MONTHLY;UNTIL=20050819; 1139 "import-rrule-count-yearly.diary-american")
1211" 1140 (icalendar-tests--test-import "import-rrule-count-every-second-year.ics"
1212 "&%%(and (diary-date t t 19) (diary-block 2003 9 19 2005 8 19)) 09:00-11:30 rrule monthly with end\n" 1141 "import-rrule-count-every-second-year.diary-iso"
1213 "&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 8 2005)) 09:00-11:30 rrule monthly with end\n" 1142 "import-rrule-count-every-second-year.diary-european"
1214 "&%%(and (diary-date t 19 t) (diary-block 9 19 2003 8 19 2005)) 09:00-11:30 rrule monthly with end\n") 1143 "import-rrule-count-every-second-year.diary-american")
1215 (icalendar-tests--test-import 1144 )
1216 "DTSTART;VALUE=DATE:20040815
1217DTEND;VALUE=DATE:20040816
1218SUMMARY:Maria Himmelfahrt
1219RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=8
1220"
1221 "&%%(and (diary-anniversary 2004 8 15)) Maria Himmelfahrt\n"
1222 "&%%(and (diary-anniversary 15 8 2004)) Maria Himmelfahrt\n"
1223 "&%%(and (diary-anniversary 8 15 2004)) Maria Himmelfahrt\n")
1224 (icalendar-tests--test-import
1225 "SUMMARY:rrule yearly
1226DTSTART;VALUE=DATE-TIME:20030919T090000
1227DTEND;VALUE=DATE-TIME:20030919T113000
1228RRULE:FREQ=YEARLY;INTERVAL=2
1229"
1230 "&%%(and (diary-anniversary 2003 9 19)) 09:00-11:30 rrule yearly\n" ;FIXME
1231 "&%%(and (diary-anniversary 19 9 2003)) 09:00-11:30 rrule yearly\n" ;FIXME
1232 "&%%(and (diary-anniversary 9 19 2003)) 09:00-11:30 rrule yearly\n") ;FIXME
1233 (icalendar-tests--test-import
1234 "SUMMARY:rrule count daily short
1235DTSTART;VALUE=DATE-TIME:20030919T090000
1236DTEND;VALUE=DATE-TIME:20030919T113000
1237RRULE:FREQ=DAILY;COUNT=1;INTERVAL=1
1238"
1239 "&%%(and (diary-cyclic 1 2003 9 19) (diary-block 2003 9 19 2003 9 19)) 09:00-11:30 rrule count daily short\n"
1240 "&%%(and (diary-cyclic 1 19 9 2003) (diary-block 19 9 2003 19 9 2003)) 09:00-11:30 rrule count daily short\n"
1241 "&%%(and (diary-cyclic 1 9 19 2003) (diary-block 9 19 2003 9 19 2003)) 09:00-11:30 rrule count daily short\n")
1242 (icalendar-tests--test-import
1243 "SUMMARY:rrule count daily long
1244DTSTART;VALUE=DATE-TIME:20030919T090000
1245DTEND;VALUE=DATE-TIME:20030919T113000
1246RRULE:FREQ=DAILY;COUNT=14;INTERVAL=1
1247"
1248 "&%%(and (diary-cyclic 1 2003 9 19) (diary-block 2003 9 19 2003 10 2)) 09:00-11:30 rrule count daily long\n"
1249 "&%%(and (diary-cyclic 1 19 9 2003) (diary-block 19 9 2003 2 10 2003)) 09:00-11:30 rrule count daily long\n"
1250 "&%%(and (diary-cyclic 1 9 19 2003) (diary-block 9 19 2003 10 2 2003)) 09:00-11:30 rrule count daily long\n")
1251 (icalendar-tests--test-import
1252 "SUMMARY:rrule count bi-weekly 3 times
1253DTSTART;VALUE=DATE-TIME:20030919T090000
1254DTEND;VALUE=DATE-TIME:20030919T113000
1255RRULE:FREQ=WEEKLY;COUNT=3;INTERVAL=2
1256"
1257 "&%%(and (diary-cyclic 14 2003 9 19) (diary-block 2003 9 19 2003 10 31)) 09:00-11:30 rrule count bi-weekly 3 times\n"
1258 "&%%(and (diary-cyclic 14 19 9 2003) (diary-block 19 9 2003 31 10 2003)) 09:00-11:30 rrule count bi-weekly 3 times\n"
1259 "&%%(and (diary-cyclic 14 9 19 2003) (diary-block 9 19 2003 10 31 2003)) 09:00-11:30 rrule count bi-weekly 3 times\n")
1260 (icalendar-tests--test-import
1261 "SUMMARY:rrule count monthly
1262DTSTART;VALUE=DATE-TIME:20030919T090000
1263DTEND;VALUE=DATE-TIME:20030919T113000
1264RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=5
1265"
1266 "&%%(and (diary-date t t 19) (diary-block 2003 9 19 2004 1 19)) 09:00-11:30 rrule count monthly\n"
1267 "&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 1 2004)) 09:00-11:30 rrule count monthly\n"
1268 "&%%(and (diary-date t 19 t) (diary-block 9 19 2003 1 19 2004)) 09:00-11:30 rrule count monthly\n")
1269 (icalendar-tests--test-import
1270 "SUMMARY:rrule count every second month
1271DTSTART;VALUE=DATE-TIME:20030919T090000
1272DTEND;VALUE=DATE-TIME:20030919T113000
1273RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=5
1274"
1275 "&%%(and (diary-date t t 19) (diary-block 2003 9 19 2004 5 19)) 09:00-11:30 rrule count every second month\n" ;FIXME
1276 "&%%(and (diary-date 19 t t) (diary-block 19 9 2003 19 5 2004)) 09:00-11:30 rrule count every second month\n" ;FIXME
1277 "&%%(and (diary-date t 19 t) (diary-block 9 19 2003 5 19 2004)) 09:00-11:30 rrule count every second month\n") ;FIXME
1278 (icalendar-tests--test-import
1279 "SUMMARY:rrule count yearly
1280DTSTART;VALUE=DATE-TIME:20030919T090000
1281DTEND;VALUE=DATE-TIME:20030919T113000
1282RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=5
1283"
1284 "&%%(and (diary-date t 9 19) (diary-block 2003 9 19 2007 9 19)) 09:00-11:30 rrule count yearly\n"
1285 "&%%(and (diary-date 19 9 t) (diary-block 19 9 2003 19 9 2007)) 09:00-11:30 rrule count yearly\n"
1286 "&%%(and (diary-date 9 19 t) (diary-block 9 19 2003 9 19 2007)) 09:00-11:30 rrule count yearly\n")
1287 (icalendar-tests--test-import
1288 "SUMMARY:rrule count every second year
1289DTSTART;VALUE=DATE-TIME:20030919T090000
1290DTEND;VALUE=DATE-TIME:20030919T113000
1291RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=5
1292"
1293 "&%%(and (diary-date t 9 19) (diary-block 2003 9 19 2011 9 19)) 09:00-11:30 rrule count every second year\n" ;FIXME!!!
1294 "&%%(and (diary-date 19 9 t) (diary-block 19 9 2003 19 9 2011)) 09:00-11:30 rrule count every second year\n" ;FIXME!!!
1295 "&%%(and (diary-date 9 19 t) (diary-block 9 19 2003 9 19 2011)) 09:00-11:30 rrule count every second year\n") ;FIXME!!!
1296)
1297 1145
1298(ert-deftest icalendar-import-duration () 1146(ert-deftest icalendar-import-duration ()
1299 ;; duration 1147 (icalendar-tests--test-import "import-duration.ics"
1300 (icalendar-tests--test-import 1148 "import-duration.diary-iso"
1301 "DTSTART;VALUE=DATE:20050217 1149 "import-duration.diary-european"
1302SUMMARY:duration 1150 "import-duration.diary-american")
1303DURATION:P7D 1151 ;; duration-2: this is actually an rrule test
1304" 1152 (icalendar-tests--test-import "import-duration-2.ics"
1305 "&%%(and (diary-block 2005 2 17 2005 2 23)) duration\n" 1153 "import-duration-2.diary-iso"
1306 "&%%(and (diary-block 17 2 2005 23 2 2005)) duration\n" 1154 "import-duration-2.diary-european"
1307 "&%%(and (diary-block 2 17 2005 2 23 2005)) duration\n") 1155 "import-duration-2.diary-american"))
1308 (icalendar-tests--test-import
1309 "UID:20041127T183329Z-18215-1001-4536-49109@andromeda
1310DTSTAMP:20041127T183315Z
1311LAST-MODIFIED:20041127T183329
1312SUMMARY:Urlaub
1313DTSTART;VALUE=DATE:20011221
1314DTEND;VALUE=DATE:20011221
1315RRULE:FREQ=DAILY;UNTIL=20011229;INTERVAL=1;WKST=SU
1316CLASS:PUBLIC
1317SEQUENCE:1
1318CREATED:20041127T183329
1319"
1320 "&%%(and (diary-cyclic 1 2001 12 21) (diary-block 2001 12 21 2001 12 29)) Urlaub
1321 Class: PUBLIC
1322 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda\n"
1323 "&%%(and (diary-cyclic 1 21 12 2001) (diary-block 21 12 2001 29 12 2001)) Urlaub
1324 Class: PUBLIC
1325 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda\n"
1326 "&%%(and (diary-cyclic 1 12 21 2001) (diary-block 12 21 2001 12 29 2001)) Urlaub
1327 Class: PUBLIC
1328 UID: 20041127T183329Z-18215-1001-4536-49109@andromeda\n"))
1329 1156
1330(ert-deftest icalendar-import-bug-6766 () 1157(ert-deftest icalendar-import-bug-6766 ()
1331 ;;bug#6766 -- multiple byday values in a weekly rrule 1158 ;;bug#6766 -- multiple byday values in a weekly rrule
1332 (icalendar-tests--test-import 1159 (icalendar-tests--test-import "import-bug-6766.ics"
1333"CLASS:PUBLIC 1160 "import-bug-6766.diary-iso"
1334DTEND;TZID=America/New_York:20100421T120000 1161 "import-bug-6766.diary-european"
1335DTSTAMP:20100525T141214Z 1162 "import-bug-6766.diary-american"))
1336DTSTART;TZID=America/New_York:20100421T113000
1337RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,TH,FR
1338SEQUENCE:1
1339STATUS:CONFIRMED
1340SUMMARY:Scrum
1341TRANSP:OPAQUE
1342UID:8814e3f9-7482-408f-996c-3bfe486a1262
1343END:VEVENT
1344BEGIN:VEVENT
1345CLASS:PUBLIC
1346DTSTAMP:20100525T141214Z
1347DTSTART;VALUE=DATE:20100422
1348DTEND;VALUE=DATE:20100423
1349RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU,TH
1350SEQUENCE:1
1351SUMMARY:Tues + Thurs thinking
1352TRANSP:OPAQUE
1353UID:8814e3f9-7482-408f-996c-3bfe486a1263
1354"
1355"&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 2010 4 21)) 11:30-12:00 Scrum
1356 Status: CONFIRMED
1357 Class: PUBLIC
1358 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
1359&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 2010 4 22)) Tues + Thurs thinking
1360 Class: PUBLIC
1361 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
1362"
1363"&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 21 4 2010)) 11:30-12:00 Scrum
1364 Status: CONFIRMED
1365 Class: PUBLIC
1366 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
1367&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 22 4 2010)) Tues + Thurs thinking
1368 Class: PUBLIC
1369 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
1370"
1371"&%%(and (memq (calendar-day-of-week date) '(1 3 4 5)) (diary-cyclic 1 4 21 2010)) 11:30-12:00 Scrum
1372 Status: CONFIRMED
1373 Class: PUBLIC
1374 UID: 8814e3f9-7482-408f-996c-3bfe486a1262
1375&%%(and (memq (calendar-day-of-week date) '(2 4)) (diary-cyclic 1 4 22 2010)) Tues + Thurs thinking
1376 Class: PUBLIC
1377 UID: 8814e3f9-7482-408f-996c-3bfe486a1263
1378"))
1379 1163
1380(ert-deftest icalendar-import-bug-24199 () 1164(ert-deftest icalendar-import-bug-24199 ()
1381 ;;bug#24199 -- monthly rule with byday-clause 1165 ;;bug#24199 -- monthly rule with byday-clause
1382 (icalendar-tests--test-import 1166 (icalendar-tests--test-import "import-bug-24199.ics"
1383" 1167 "import-bug-24199.diary-iso"
1384SUMMARY:Summary 1168 "import-bug-24199.diary-european"
1385DESCRIPTION:Desc 1169 "import-bug-24199.diary-american"))
1386LOCATION:Loc
1387DTSTART:20151202T124600
1388DTEND:20151202T160000
1389RRULE:FREQ=MONTHLY;BYDAY=1WE;INTERVAL=1
1390EXDATE:20160106T114600Z
1391EXDATE:20160203T114600Z
1392EXDATE:20160302T114600Z
1393EXDATE:20160504T104600Z
1394EXDATE:20160601T104600Z
1395CLASS:DEFAULT
1396TRANSP:OPAQUE
1397BEGIN:VALARM
1398ACTION:DISPLAY
1399TRIGGER;VALUE=DURATION:-PT3H
1400END:VALARM
1401LAST-MODIFIED:20160805T191040Z
1402UID:9188710a-08a7-4061-bae3-d4cf4972599a
1403"
1404"&%%(and (not (diary-date 2016 1 6)) (not (diary-date 2016 2 3)) (not (diary-date 2016 3 2)) (not (diary-date 2016 5 4)) (not (diary-date 2016 6 1)) (diary-float t 3 1) (diary-block 2015 12 2 9999 1 1)) 12:46-16:00 Summary
1405 Desc: Desc
1406 Location: Loc
1407 Class: DEFAULT
1408 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
1409"
1410"&%%(and (not (diary-date 6 1 2016)) (not (diary-date 3 2 2016)) (not (diary-date 2 3 2016)) (not (diary-date 4 5 2016)) (not (diary-date 1 6 2016)) (diary-float t 3 1) (diary-block 2 12 2015 1 1 9999)) 12:46-16:00 Summary
1411 Desc: Desc
1412 Location: Loc
1413 Class: DEFAULT
1414 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
1415"
1416"&%%(and (not (diary-date 1 6 2016)) (not (diary-date 2 3 2016)) (not (diary-date 3 2 2016)) (not (diary-date 5 4 2016)) (not (diary-date 6 1 2016)) (diary-float t 3 1) (diary-block 12 2 2015 1 1 9999)) 12:46-16:00 Summary
1417 Desc: Desc
1418 Location: Loc
1419 Class: DEFAULT
1420 UID: 9188710a-08a7-4061-bae3-d4cf4972599a
1421"
1422))
1423 1170
1424(ert-deftest icalendar-import-bug-33277 () 1171(ert-deftest icalendar-import-bug-33277 ()
1425 ;;bug#33277 -- start time equals end time 1172 ;;bug#33277 -- start time equals end time
1426 (icalendar-tests--test-import 1173 (icalendar-tests--test-import "import-bug-33277.ics"
1427 "DTSTART:20181105T200000Z 1174 "import-bug-33277.diary-iso"
1428DTSTAMP:20181105T181652Z 1175 "import-bug-33277.diary-european"
1429DESCRIPTION: 1176 "import-bug-33277.diary-american"))
1430LAST-MODIFIED:20181105T181646Z
1431LOCATION:
1432SEQUENCE:0
1433SUMMARY:event with same start/end time
1434TRANSP:OPAQUE
1435"
1436
1437 "&2018/11/5 21:00 event with same start/end time\n"
1438 "&5/11/2018 21:00 event with same start/end time\n"
1439 "&11/5/2018 21:00 event with same start/end time\n"
1440 ))
1441 1177
1442(ert-deftest icalendar-import-multiple-vcalendars () 1178(ert-deftest icalendar-import-multiple-vcalendars ()
1443 (icalendar-tests--test-import 1179 (icalendar-tests--test-import "import-multiple-vcalendars.ics"
1444 "DTSTART;VALUE=DATE:20110723 1180 "import-multiple-vcalendars.diary-iso"
1445SUMMARY:event-1 1181 "import-multiple-vcalendars.diary-european"
1446" 1182 "import-multiple-vcalendars.diary-american"))
1447 "&2011/7/23 event-1\n"
1448 "&23/7/2011 event-1\n"
1449 "&7/23/2011 event-1\n")
1450
1451 (icalendar-tests--test-import
1452 "BEGIN:VCALENDAR
1453PRODID:-//Emacs//NONSGML icalendar.el//EN
1454VERSION:2.0\nBEGIN:VEVENT
1455DTSTART;VALUE=DATE:20110723
1456SUMMARY:event-1
1457END:VEVENT
1458END:VCALENDAR
1459BEGIN:VCALENDAR
1460PRODID:-//Emacs//NONSGML icalendar.el//EN
1461VERSION:2.0
1462BEGIN:VEVENT
1463DTSTART;VALUE=DATE:20110724
1464SUMMARY:event-2
1465END:VEVENT
1466END:VCALENDAR
1467BEGIN:VCALENDAR
1468PRODID:-//Emacs//NONSGML icalendar.el//EN
1469VERSION:2.0
1470BEGIN:VEVENT
1471DTSTART;VALUE=DATE:20110725
1472SUMMARY:event-3a
1473END:VEVENT
1474BEGIN:VEVENT
1475DTSTART;VALUE=DATE:20110725
1476SUMMARY:event-3b
1477END:VEVENT
1478END:VCALENDAR
1479"
1480 "&2011/7/23 event-1\n&2011/7/24 event-2\n&2011/7/25 event-3a\n&2011/7/25 event-3b\n"
1481 "&23/7/2011 event-1\n&24/7/2011 event-2\n&25/7/2011 event-3a\n&25/7/2011 event-3b\n"
1482 "&7/23/2011 event-1\n&7/24/2011 event-2\n&7/25/2011 event-3a\n&7/25/2011 event-3b\n"))
1483 1183
1484(ert-deftest icalendar-import-with-uid () 1184(ert-deftest icalendar-import-with-uid ()
1485 "Perform import test with uid." 1185 "Perform import test with uid."
1486 (icalendar-tests--test-import 1186 (icalendar-tests--test-import "import-with-uid.ics"
1487 "UID:1234567890uid 1187 "import-with-uid.diary-iso"
1488SUMMARY:non-recurring 1188 "import-with-uid.diary-european"
1489DTSTART;VALUE=DATE-TIME:20030919T090000 1189 "import-with-uid.diary-american"))
1490DTEND;VALUE=DATE-TIME:20030919T113000"
1491 "&2003/9/19 09:00-11:30 non-recurring\n UID: 1234567890uid\n"
1492 "&19/9/2003 09:00-11:30 non-recurring\n UID: 1234567890uid\n"
1493 "&9/19/2003 09:00-11:30 non-recurring\n UID: 1234567890uid\n"))
1494 1190
1495(ert-deftest icalendar-import-with-timezone () 1191(ert-deftest icalendar-import-with-timezone ()
1496 ;; This is known to fail on MS-Windows, because the test assumes 1192 ;; This is known to fail on MS-Windows, because the test assumes
@@ -1499,42 +1195,13 @@ DTEND;VALUE=DATE-TIME:20030919T113000"
1499 :failed 1195 :failed
1500 :passed) 1196 :passed)
1501 ;; bug#11473 1197 ;; bug#11473
1502 (icalendar-tests--test-import 1198 ;; "standardtime" begins first sunday in january and is 4 hours behind CET
1503 "BEGIN:VCALENDAR 1199 ;; "daylightsavingtime" begins first sunday in november and is 1 hour before CET
1504BEGIN:VTIMEZONE 1200 (icalendar-tests--test-import "import-with-timezone.ics"
1505TZID:fictional, nonexistent, arbitrary 1201 "import-with-timezone.diary-iso"
1506BEGIN:STANDARD 1202 nil
1507DTSTART:20100101T000000 1203 nil))
1508TZOFFSETFROM:+0200 1204
1509TZOFFSETTO:-0200
1510RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=01
1511END:STANDARD
1512BEGIN:DAYLIGHT
1513DTSTART:20101201T000000
1514TZOFFSETFROM:-0200
1515TZOFFSETTO:+0200
1516RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
1517END:DAYLIGHT
1518END:VTIMEZONE
1519BEGIN:VEVENT
1520SUMMARY:standardtime
1521DTSTART;TZID=\"fictional, nonexistent, arbitrary\":20120115T120000
1522DTEND;TZID=\"fictional, nonexistent, arbitrary\":20120115T123000
1523END:VEVENT
1524BEGIN:VEVENT
1525SUMMARY:daylightsavingtime
1526DTSTART;TZID=\"fictional, nonexistent, arbitrary\":20121215T120000
1527DTEND;TZID=\"fictional, nonexistent, arbitrary\":20121215T123000
1528END:VEVENT
1529END:VCALENDAR"
1530 ;; "standardtime" begins first sunday in january and is 4 hours behind CET
1531 ;; "daylightsavingtime" begins first sunday in november and is 1 hour before CET
1532 "&2012/1/15 15:00-15:30 standardtime
1533&2012/12/15 11:00-11:30 daylightsavingtime
1534"
1535 nil
1536 nil)
1537 )
1538;; ====================================================================== 1205;; ======================================================================
1539;; Cycle 1206;; Cycle
1540;; ====================================================================== 1207;; ======================================================================
@@ -1632,237 +1299,27 @@ SUMMARY:and diary-anniversary
1632 :failed 1299 :failed
1633 :passed) 1300 :passed)
1634 ;; 2003-05-29 1301 ;; 2003-05-29
1635 (icalendar-tests--test-import 1302 (icalendar-tests--test-import "import-real-world-2003-05-29.ics"
1636 "BEGIN:VCALENDAR 1303 nil
1637METHOD:REQUEST 1304 "import-real-world-2003-05-29.diary-european"
1638PRODID:Microsoft CDO for Microsoft Exchange 1305 "import-real-world-2003-05-29.diary-american")
1639VERSION:2.0
1640BEGIN:VTIMEZONE
1641TZID:Kolkata, Chennai, Mumbai, New Delhi
1642X-MICROSOFT-CDO-TZID:23
1643BEGIN:STANDARD
1644DTSTART:16010101T000000
1645TZOFFSETFROM:+0530
1646TZOFFSETTO:+0530
1647END:STANDARD
1648BEGIN:DAYLIGHT
1649DTSTART:16010101T000000
1650TZOFFSETFROM:+0530
1651TZOFFSETTO:+0530
1652END:DAYLIGHT
1653END:VTIMEZONE
1654BEGIN:VEVENT
1655DTSTAMP:20030509T043439Z
1656DTSTART;TZID=\"Kolkata, Chennai, Mumbai, New Delhi\":20030509T103000
1657SUMMARY:On-Site Interview
1658UID:040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000
1659 010000000DB823520692542408ED02D7023F9DFF9
1660ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"Xxxxx
1661 xxx Xxxxxxxxxxxx\":MAILTO:xxxxxxxx@xxxxxxx.com
1662ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"Yyyyyyy Y
1663 yyyy\":MAILTO:yyyyyyy@yyyyyyy.com
1664ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"Zzzz Zzzz
1665 zz\":MAILTO:zzzzzz@zzzzzzz.com
1666ORGANIZER;CN=\"Aaaaaa Aaaaa\":MAILTO:aaaaaaa@aaaaaaa.com
1667LOCATION:Cccc
1668DTEND;TZID=\"Kolkata, Chennai, Mumbai, New Delhi\":20030509T153000
1669DESCRIPTION:10:30am - Blah
1670SEQUENCE:0
1671PRIORITY:5
1672CLASS:
1673CREATED:20030509T043439Z
1674LAST-MODIFIED:20030509T043459Z
1675STATUS:CONFIRMED
1676TRANSP:OPAQUE
1677X-MICROSOFT-CDO-BUSYSTATUS:BUSY
1678X-MICROSOFT-CDO-INSTTYPE:0
1679X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
1680X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
1681X-MICROSOFT-CDO-IMPORTANCE:1
1682X-MICROSOFT-CDO-OWNERAPPTID:126441427
1683BEGIN:VALARM
1684ACTION:DISPLAY
1685DESCRIPTION:REMINDER
1686TRIGGER;RELATED=START:-PT00H15M00S
1687END:VALARM
1688END:VEVENT
1689END:VCALENDAR"
1690 nil
1691 "&9/5/2003 07:00-12:00 On-Site Interview
1692 Desc: 10:30am - Blah
1693 Location: Cccc
1694 Organizer: MAILTO:aaaaaaa@aaaaaaa.com
1695 Status: CONFIRMED
1696 UID: 040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000010000000DB823520692542408ED02D7023F9DFF9
1697"
1698 "&5/9/2003 07:00-12:00 On-Site Interview
1699 Desc: 10:30am - Blah
1700 Location: Cccc
1701 Organizer: MAILTO:aaaaaaa@aaaaaaa.com
1702 Status: CONFIRMED
1703 UID: 040000008200E00074C5B7101A82E0080000000080B6DE661216C301000000000000000010000000DB823520692542408ED02D7023F9DFF9
1704")
1705 1306
1706 ;; created with http://apps.marudot.com/ical/ 1307 ;; created with http://apps.marudot.com/ical/
1707 (icalendar-tests--test-import 1308 (icalendar-tests--test-import "import-real-world-no-dst.ics"
1708 "BEGIN:VCALENDAR 1309 nil
1709VERSION:2.0 1310 "import-real-world-no-dst.diary-european"
1710PRODID:-//www.marudot.com//iCal Event Maker 1311 "import-real-world-no-dst.diary-american")
1711X-WR-CALNAME:Test
1712CALSCALE:GREGORIAN
1713BEGIN:VTIMEZONE
1714TZID:Asia/Tehran
1715TZURL:http://tzurl.org/zoneinfo-outlook/Asia/Tehran
1716X-LIC-LOCATION:Asia/Tehran
1717BEGIN:STANDARD
1718TZOFFSETFROM:+0330
1719TZOFFSETTO:+0330
1720TZNAME:IRST
1721DTSTART:19700101T000000
1722END:STANDARD
1723END:VTIMEZONE
1724BEGIN:VEVENT
1725DTSTAMP:20141116T171439Z
1726UID:20141116T171439Z-678877132@marudot.com
1727DTSTART;TZID=\"Asia/Tehran\":20141116T070000
1728DTEND;TZID=\"Asia/Tehran\":20141116T080000
1729SUMMARY:NoDST
1730DESCRIPTION:Test event from timezone without DST
1731LOCATION:Everywhere
1732END:VEVENT
1733END:VCALENDAR"
1734 nil
1735 "&16/11/2014 04:30-05:30 NoDST
1736 Desc: Test event from timezone without DST
1737 Location: Everywhere
1738 UID: 20141116T171439Z-678877132@marudot.com
1739"
1740 "&11/16/2014 04:30-05:30 NoDST
1741 Desc: Test event from timezone without DST
1742 Location: Everywhere
1743 UID: 20141116T171439Z-678877132@marudot.com
1744")
1745
1746 1312
1747 ;; 2003-06-18 a 1313 ;; 2003-06-18 a
1748 (icalendar-tests--test-import 1314 (icalendar-tests--test-import "import-real-world-2003-06-18a.ics"
1749 "DTSTAMP:20030618T195512Z 1315 nil
1750DTSTART;TZID=\"Mountain Time (US & Canada)\":20030623T110000 1316 "import-real-world-2003-06-18a.diary-european"
1751SUMMARY:Dress Rehearsal for XXXX-XXXX 1317 "import-real-world-2003-06-18a.diary-american")
1752UID:040000008200E00074C5B7101A82E00800000000608AA7DA9835C301000000000000000
1753 0100000007C3A6D65EE726E40B7F3D69A23BD567E
1754ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"AAAAA,AAA
1755 AA (A-AAAAAAA,ex1)\":MAILTO:aaaaa_aaaaa@aaaaa.com
1756ORGANIZER;CN=\"ABCD,TECHTRAINING
1757 (A-Americas,exgen1)\":MAILTO:xxx@xxxxx.com
1758LOCATION:555 or TN 555-5555 ID 5555 & NochWas (see below)
1759DTEND;TZID=\"Mountain Time (US & Canada)\":20030623T120000
1760DESCRIPTION:753 Zeichen hier radiert
1761SEQUENCE:0
1762PRIORITY:5
1763CLASS:
1764CREATED:20030618T195518Z
1765LAST-MODIFIED:20030618T195527Z
1766STATUS:CONFIRMED
1767TRANSP:OPAQUE
1768X-MICROSOFT-CDO-BUSYSTATUS:BUSY
1769X-MICROSOFT-CDO-INSTTYPE:0
1770X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
1771X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
1772X-MICROSOFT-CDO-IMPORTANCE:1
1773X-MICROSOFT-CDO-OWNERAPPTID:1022519251
1774BEGIN:VALARM
1775ACTION:DISPLAY
1776DESCRIPTION:REMINDER
1777TRIGGER;RELATED=START:-PT00H15M00S
1778END:VALARM"
1779 nil
1780 "&23/6/2003 11:00-12:00 Dress Rehearsal for XXXX-XXXX
1781 Desc: 753 Zeichen hier radiert
1782 Location: 555 or TN 555-5555 ID 5555 & NochWas (see below)
1783 Organizer: MAILTO:xxx@xxxxx.com
1784 Status: CONFIRMED
1785 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
1786"
1787 "&6/23/2003 11:00-12:00 Dress Rehearsal for XXXX-XXXX
1788 Desc: 753 Zeichen hier radiert
1789 Location: 555 or TN 555-5555 ID 5555 & NochWas (see below)
1790 Organizer: MAILTO:xxx@xxxxx.com
1791 Status: CONFIRMED
1792 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
1793")
1794 ;; 2003-06-18 b -- uses timezone 1318 ;; 2003-06-18 b -- uses timezone
1795 (icalendar-tests--test-import 1319 (icalendar-tests--test-import "import-real-world-2003-06-18b.ics"
1796 "BEGIN:VCALENDAR 1320 nil
1797METHOD:REQUEST 1321 "import-real-world-2003-06-18b.diary-european"
1798PRODID:Microsoft CDO for Microsoft Exchange 1322 "import-real-world-2003-06-18b.diary-american")
1799VERSION:2.0
1800BEGIN:VTIMEZONE
1801TZID:Mountain Time (US & Canada)
1802X-MICROSOFT-CDO-TZID:12
1803BEGIN:STANDARD
1804DTSTART:16010101T020000
1805TZOFFSETFROM:-0600
1806TZOFFSETTO:-0700
1807RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=10;BYDAY=-1SU
1808END:STANDARD
1809BEGIN:DAYLIGHT
1810DTSTART:16010101T020000
1811TZOFFSETFROM:-0700
1812TZOFFSETTO:-0600
1813RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=4;BYDAY=1SU
1814END:DAYLIGHT
1815END:VTIMEZONE
1816BEGIN:VEVENT
1817DTSTAMP:20030618T230323Z
1818DTSTART;TZID=\"Mountain Time (US & Canada)\":20030623T090000
1819SUMMARY:Updated: Dress Rehearsal for ABC01-15
1820UID:040000008200E00074C5B7101A82E00800000000608AA7DA9835C301000000000000000
1821 0100000007C3A6D65EE726E40B7F3D69A23BD567E
1822ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;X-REPLYTIME=20030618T20
1823 0700Z;RSVP=TRUE;CN=\"AAAAA,AAAAAA
1824\(A-AAAAAAA,ex1)\":MAILTO:aaaaaa_aaaaa@aaaaa
1825 .com
1826ORGANIZER;CN=\"ABCD,TECHTRAINING
1827\(A-Americas,exgen1)\":MAILTO:bbb@bbbbb.com
1828LOCATION:123 or TN 123-1234 ID abcd & SonstWo (see below)
1829DTEND;TZID=\"Mountain Time (US & Canada)\":20030623T100000
1830DESCRIPTION:Viele Zeichen standen hier früher
1831SEQUENCE:0
1832PRIORITY:5
1833CLASS:
1834CREATED:20030618T230326Z
1835LAST-MODIFIED:20030618T230335Z
1836STATUS:CONFIRMED
1837TRANSP:OPAQUE
1838X-MICROSOFT-CDO-BUSYSTATUS:BUSY
1839X-MICROSOFT-CDO-INSTTYPE:0
1840X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
1841X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
1842X-MICROSOFT-CDO-IMPORTANCE:1
1843X-MICROSOFT-CDO-OWNERAPPTID:1022519251
1844BEGIN:VALARM
1845ACTION:DISPLAY
1846DESCRIPTION:REMINDER
1847TRIGGER;RELATED=START:-PT00H15M00S
1848END:VALARM
1849END:VEVENT
1850END:VCALENDAR"
1851 nil
1852 "&23/6/2003 17:00-18:00 Updated: Dress Rehearsal for ABC01-15
1853 Desc: Viele Zeichen standen hier früher
1854 Location: 123 or TN 123-1234 ID abcd & SonstWo (see below)
1855 Organizer: MAILTO:bbb@bbbbb.com
1856 Status: CONFIRMED
1857 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
1858"
1859 "&6/23/2003 17:00-18:00 Updated: Dress Rehearsal for ABC01-15
1860 Desc: Viele Zeichen standen hier früher
1861 Location: 123 or TN 123-1234 ID abcd & SonstWo (see below)
1862 Organizer: MAILTO:bbb@bbbbb.com
1863 Status: CONFIRMED
1864 UID: 040000008200E00074C5B7101A82E00800000000608AA7DA9835C3010000000000000000100000007C3A6D65EE726E40B7F3D69A23BD567E
1865")
1866 ;; export 2004-10-28 block entries 1323 ;; export 2004-10-28 block entries
1867 (icalendar-tests--test-export 1324 (icalendar-tests--test-export
1868 nil 1325 nil
@@ -2078,169 +1535,10 @@ DTEND;VALUE=DATE-TIME:20041012T150000
2078SUMMARY:Tue: [2004-10-12] q1") 1535SUMMARY:Tue: [2004-10-12] q1")
2079 1536
2080 ;; 2004-11-19 1537 ;; 2004-11-19
2081 (icalendar-tests--test-import 1538 (icalendar-tests--test-import "import-real-world-2004-11-19.ics"
2082 "BEGIN:VCALENDAR 1539 nil
2083VERSION 1540 "import-real-world-2004-11-19.diary-european"
2084 :2.0 1541 "import-real-world-2004-11-19.diary-american")
2085PRODID
2086 :-//Mozilla.org/NONSGML Mozilla Calendar V1.0//EN
2087BEGIN:VEVENT
2088SUMMARY
2089 :Jjjjj & Wwwww
2090STATUS
2091 :TENTATIVE
2092CLASS
2093 :PRIVATE
2094X-MOZILLA-ALARM-DEFAULT-LENGTH
2095 :0
2096DTSTART
2097 :20041123T140000
2098DTEND
2099 :20041123T143000
2100DTSTAMP
2101 :20041118T013430Z
2102LAST-MODIFIED
2103 :20041118T013640Z
2104END:VEVENT
2105BEGIN:VEVENT
2106SUMMARY
2107 :BB Aaaaaaaa Bbbbb
2108STATUS
2109 :TENTATIVE
2110CLASS
2111 :PRIVATE
2112X-MOZILLA-ALARM-DEFAULT-LENGTH
2113 :0
2114DTSTART
2115 :20041123T144500
2116DTEND
2117 :20041123T154500
2118DTSTAMP
2119 :20041118T013641Z
2120END:VEVENT
2121BEGIN:VEVENT
2122SUMMARY
2123 :Hhhhhhhh
2124STATUS
2125 :TENTATIVE
2126CLASS
2127 :PRIVATE
2128X-MOZILLA-ALARM-DEFAULT-LENGTH
2129 :0
2130DTSTART
2131 :20041123T110000
2132DTEND
2133 :20041123T120000
2134DTSTAMP
2135 :20041118T013831Z
2136END:VEVENT
2137BEGIN:VEVENT
2138SUMMARY
2139 :MMM Aaaaaaaaa
2140STATUS
2141 :TENTATIVE
2142CLASS
2143 :PRIVATE
2144X-MOZILLA-ALARM-DEFAULT-LENGTH
2145 :0
2146X-MOZILLA-RECUR-DEFAULT-INTERVAL
2147 :2
2148RRULE
2149 :FREQ=WEEKLY;INTERVAL=2;BYDAY=FR
2150DTSTART
2151 :20041112T140000
2152DTEND
2153 :20041112T183000
2154DTSTAMP
2155 :20041118T014117Z
2156END:VEVENT
2157BEGIN:VEVENT
2158SUMMARY
2159 :Rrrr/Cccccc ii Aaaaaaaa
2160DESCRIPTION
2161 :Vvvvv Rrrr aaa Cccccc
2162STATUS
2163 :TENTATIVE
2164CLASS
2165 :PRIVATE
2166X-MOZILLA-ALARM-DEFAULT-LENGTH
2167 :0
2168DTSTART
2169 ;VALUE=DATE
2170 :20041119
2171DTEND
2172 ;VALUE=DATE
2173 :20041120
2174DTSTAMP
2175 :20041118T013107Z
2176LAST-MODIFIED
2177 :20041118T014203Z
2178END:VEVENT
2179BEGIN:VEVENT
2180SUMMARY
2181 :Wwww aa hhhh
2182STATUS
2183 :TENTATIVE
2184CLASS
2185 :PRIVATE
2186X-MOZILLA-ALARM-DEFAULT-LENGTH
2187 :0
2188RRULE
2189 :FREQ=WEEKLY;INTERVAL=1;BYDAY=MO
2190DTSTART
2191 ;VALUE=DATE
2192 :20041101
2193DTEND
2194 ;VALUE=DATE
2195 :20041102
2196DTSTAMP
2197 :20041118T014045Z
2198LAST-MODIFIED
2199 :20041118T023846Z
2200END:VEVENT
2201END:VCALENDAR
2202"
2203 nil
2204 "&23/11/2004 14:00-14:30 Jjjjj & Wwwww
2205 Status: TENTATIVE
2206 Class: PRIVATE
2207&23/11/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
2208 Status: TENTATIVE
2209 Class: PRIVATE
2210&23/11/2004 11:00-12:00 Hhhhhhhh
2211 Status: TENTATIVE
2212 Class: PRIVATE
2213&%%(and (diary-cyclic 14 12 11 2004)) 14:00-18:30 MMM Aaaaaaaaa
2214 Status: TENTATIVE
2215 Class: PRIVATE
2216&%%(and (diary-block 19 11 2004 19 11 2004)) Rrrr/Cccccc ii Aaaaaaaa
2217 Desc: Vvvvv Rrrr aaa Cccccc
2218 Status: TENTATIVE
2219 Class: PRIVATE
2220&%%(and (diary-cyclic 7 1 11 2004)) Wwww aa hhhh
2221 Status: TENTATIVE
2222 Class: PRIVATE
2223"
2224 "&11/23/2004 14:00-14:30 Jjjjj & Wwwww
2225 Status: TENTATIVE
2226 Class: PRIVATE
2227&11/23/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
2228 Status: TENTATIVE
2229 Class: PRIVATE
2230&11/23/2004 11:00-12:00 Hhhhhhhh
2231 Status: TENTATIVE
2232 Class: PRIVATE
2233&%%(and (diary-cyclic 14 11 12 2004)) 14:00-18:30 MMM Aaaaaaaaa
2234 Status: TENTATIVE
2235 Class: PRIVATE
2236&%%(and (diary-block 11 19 2004 11 19 2004)) Rrrr/Cccccc ii Aaaaaaaa
2237 Desc: Vvvvv Rrrr aaa Cccccc
2238 Status: TENTATIVE
2239 Class: PRIVATE
2240&%%(and (diary-cyclic 7 11 1 2004)) Wwww aa hhhh
2241 Status: TENTATIVE
2242 Class: PRIVATE
2243")
2244 1542
2245 ;; 2004-09-09 pg 1543 ;; 2004-09-09 pg
2246 (icalendar-tests--test-export 1544 (icalendar-tests--test-export
@@ -2270,53 +1568,16 @@ DTEND;VALUE=DATE-TIME:20041102T163000
2270SUMMARY:Zahnarzt") 1568SUMMARY:Zahnarzt")
2271 1569
2272 ;; 2005-02-07 lt 1570 ;; 2005-02-07 lt
2273 (icalendar-tests--test-import 1571 (icalendar-tests--test-import "import-real-world-2005-02-07.ics"
2274 "UID 1572 nil
2275 :b60d398e-1dd1-11b2-a159-cf8cb05139f4 1573 "import-real-world-2005-02-07.diary-european"
2276SUMMARY 1574 "import-real-world-2005-02-07.diary-american")
2277 :Waitangi Day
2278DESCRIPTION
2279 :abcdef
2280CATEGORIES
2281 :Public Holiday
2282STATUS
2283 :CONFIRMED
2284CLASS
2285 :PRIVATE
2286DTSTART
2287 ;VALUE=DATE
2288 :20050206
2289DTEND
2290 ;VALUE=DATE
2291 :20050207
2292DTSTAMP
2293 :20050128T011209Z"
2294 nil
2295 "&%%(and (diary-block 6 2 2005 6 2 2005)) Waitangi Day
2296 Desc: abcdef
2297 Status: CONFIRMED
2298 Class: PRIVATE
2299 UID: b60d398e-1dd1-11b2-a159-cf8cb05139f4
2300"
2301 "&%%(and (diary-block 2 6 2005 2 6 2005)) Waitangi Day
2302 Desc: abcdef
2303 Status: CONFIRMED
2304 Class: PRIVATE
2305 UID: b60d398e-1dd1-11b2-a159-cf8cb05139f4
2306")
2307 1575
2308 ;; 2005-03-01 lt 1576 ;; 2005-03-01 lt
2309 (icalendar-tests--test-import 1577 (icalendar-tests--test-import "import-real-world-2005-03-01.ics"
2310 "DTSTART;VALUE=DATE:20050217 1578 nil
2311SUMMARY:Hhhhhh Aaaaa ii Aaaaaaaa 1579 "import-real-world-2005-03-01.diary-european"
2312UID:6AFA7558-6994-11D9-8A3A-000A95A0E830-RID 1580 "import-real-world-2005-03-01.diary-american")
2313DTSTAMP:20050118T210335Z
2314DURATION:P7D"
2315 nil
2316 "&%%(and (diary-block 17 2 2005 23 2 2005)) Hhhhhh Aaaaa ii Aaaaaaaa
2317 UID: 6AFA7558-6994-11D9-8A3A-000A95A0E830-RID\n"
2318 "&%%(and (diary-block 2 17 2005 2 23 2005)) Hhhhhh Aaaaa ii Aaaaaaaa
2319 UID: 6AFA7558-6994-11D9-8A3A-000A95A0E830-RID\n")
2320 1581
2321 ;; 2005-03-23 lt 1582 ;; 2005-03-23 lt
2322 (icalendar-tests--test-export 1583 (icalendar-tests--test-export
@@ -2343,132 +1604,24 @@ SUMMARY:NNN Wwwwwwww Wwwww - Aaaaaa Pppppppp rrrrrr ddd oo Nnnnnnnn 30
2343") 1604")
2344 1605
2345 ;; bug#11473 1606 ;; bug#11473
2346 (icalendar-tests--test-import 1607 (icalendar-tests--test-import "import-bug-11473.ics"
2347 "BEGIN:VCALENDAR 1608 nil
2348METHOD:REQUEST 1609 "import-bug-11473.diary-european"
2349PRODID:Microsoft Exchange Server 2007 1610 nil)
2350VERSION:2.0
2351BEGIN:VTIMEZONE
2352TZID:(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
2353BEGIN:STANDARD
2354DTSTART:16010101T030000
2355TZOFFSETFROM:+0200
2356TZOFFSETTO:+0100
2357RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
2358END:STANDARD
2359BEGIN:DAYLIGHT
2360DTSTART:16010101T020000
2361TZOFFSETFROM:+0100
2362TZOFFSETTO:+0200
2363RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
2364END:DAYLIGHT
2365END:VTIMEZONE
2366BEGIN:VEVENT
2367ORGANIZER;CN=\"A. Luser\":MAILTO:a.luser@foo.com
2368ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"Luser, Oth
2369 er\":MAILTO:other.luser@foo.com
2370DESCRIPTION;LANGUAGE=en-US:\nWhassup?\n\n
2371SUMMARY;LANGUAGE=en-US:Query
2372DTSTART;TZID=\"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\"
2373 :20120515T150000
2374DTEND;TZID=\"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\":2
2375 0120515T153000
2376UID:040000008200E00074C5B7101A82E0080000000020FFAED0CFEFCC01000000000000000
2377 010000000575268034ECDB649A15349B1BF240F15
2378RECURRENCE-ID;TZID=\"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, V
2379 ienna\":20120515T170000
2380CLASS:PUBLIC
2381PRIORITY:5
2382DTSTAMP:20120514T153645Z
2383TRANSP:OPAQUE
2384STATUS:CONFIRMED
2385SEQUENCE:15
2386LOCATION;LANGUAGE=en-US:phone
2387X-MICROSOFT-CDO-APPT-SEQUENCE:15
2388X-MICROSOFT-CDO-OWNERAPPTID:1907632092
2389X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
2390X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
2391X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
2392X-MICROSOFT-CDO-IMPORTANCE:1
2393X-MICROSOFT-CDO-INSTTYPE:3
2394BEGIN:VALARM
2395ACTION:DISPLAY
2396DESCRIPTION:REMINDER
2397TRIGGER;RELATED=START:-PT15M
2398END:VALARM
2399END:VEVENT
2400END:VCALENDAR"
2401 nil
2402 "&15/5/2012 15:00-15:30 Query
2403 Location: phone
2404 Organizer: MAILTO:a.luser@foo.com
2405 Status: CONFIRMED
2406 Class: PUBLIC
2407 UID: 040000008200E00074C5B7101A82E0080000000020FFAED0CFEFCC01000000000000000010000000575268034ECDB649A15349B1BF240F15
2408" nil)
2409 1611
2410 ;; 2015-12-05, mixed line endings and empty lines, see Bug#22092. 1612 ;; 2015-12-05, mixed line endings and empty lines, see Bug#22092.
2411 (icalendar-tests--test-import 1613 (icalendar-tests--test-import "import-bug-22092.ics"
2412 "BEGIN:VCALENDAR\r 1614 "import-bug-22092.diary-iso"
2413PRODID:-//www.norwegian.no//iCalendar MIMEDIR//EN\r 1615 "import-bug-22092.diary-european"
2414VERSION:2.0\r 1616 "import-bug-22092.diary-american"))
2415METHOD:REQUEST\r
2416BEGIN:VEVENT\r
2417UID:RFCALITEM1\r
2418SEQUENCE:1512040950\r
2419DTSTAMP:20141204T095043Z\r
2420ORGANIZER:noreply@norwegian.no\r
2421DTSTART:20141208T173000Z\r
2422
2423DTEND:20141208T215500Z\r
2424
2425LOCATION:Stavanger-Sola\r
2426
2427DESCRIPTION:Fly med Norwegian, reservasjon. Fra Stavanger til Troms&#248; 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Troms&#248; 8. des 2014 21:00, DY390\r
2428
2429X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\"><html><head><META NAME=\"Generator\" CONTENT=\"MS Exchange Server version 08.00.0681.000\"><title></title></head><body><b><font face=\"Calibri\" size=\"3\">Reisereferanse</p></body></html>
2430SUMMARY:Norwegian til Tromsoe-Langnes -\r
2431
2432CATEGORIES:Appointment\r
2433
2434
2435PRIORITY:5\r
2436
2437CLASS:PUBLIC\r
2438
2439TRANSP:OPAQUE\r
2440END:VEVENT\r
2441END:VCALENDAR
2442"
2443"&2014/12/8 18:30-22:55 Norwegian til Tromsoe-Langnes -
2444 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Troms&#248; 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Troms&#248; 8. des 2014 21:00, DY390
2445 Location: Stavanger-Sola
2446 Organizer: noreply@norwegian.no
2447 Class: PUBLIC
2448 UID: RFCALITEM1
2449"
2450"&8/12/2014 18:30-22:55 Norwegian til Tromsoe-Langnes -
2451 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Troms&#248; 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Troms&#248; 8. des 2014 21:00, DY390
2452 Location: Stavanger-Sola
2453 Organizer: noreply@norwegian.no
2454 Class: PUBLIC
2455 UID: RFCALITEM1
2456"
2457"&12/8/2014 18:30-22:55 Norwegian til Tromsoe-Langnes -
2458 Desc: Fly med Norwegian, reservasjon. Fra Stavanger til Troms&#248; 8. des 2014 18:30, DY545Fly med Norwegian, reservasjon . Fra Stavanger til Troms&#248; 8. des 2014 21:00, DY390
2459 Location: Stavanger-Sola
2460 Organizer: noreply@norwegian.no
2461 Class: PUBLIC
2462 UID: RFCALITEM1
2463"
2464)
2465 )
2466 1617
2467(defun icalendar-test--format (string &optional day zone) 1618(defun icalendar-test--format (string &optional day zone)
1619 "Decode and format STRING with DAY and ZONE."
2468 (let ((time (icalendar--decode-isodatetime string day zone))) 1620 (let ((time (icalendar--decode-isodatetime string day zone)))
2469 (format-time-string "%FT%T%z" (encode-time time) 0))) 1621 (format-time-string "%FT%T%z" (encode-time time) 0)))
2470 1622
2471(defun icalendar-tests--decode-isodatetime (_ical-string) 1623(defun icalendar-tests--decode-isodatetime (_ical-string)
1624 "Test icalendar--decode-isodatetime."
2472 (should (equal (icalendar-test--format "20040917T050910-0200") 1625 (should (equal (icalendar-test--format "20040917T050910-0200")
2473 "2004-09-17T03:09:10+0000")) 1626 "2004-09-17T03:09:10+0000"))
2474 (should (equal (icalendar-test--format "20040917T050910") 1627 (should (equal (icalendar-test--format "20040917T050910")