diff options
Diffstat (limited to 'test/data')
-rw-r--r-- | test/data/ical-003.ical | 45 | ||||
-rw-r--r-- | test/data/ical-005.ical | 2 | ||||
-rw-r--r-- | test/data/ical-007.ical | 5 | ||||
-rw-r--r-- | test/data/ical-008.ical | 4 | ||||
-rw-r--r-- | test/data/ical-009.ical | 65 | ||||
-rw-r--r-- | test/data/ical-012.ical | 89 | ||||
-rw-r--r-- | test/data/ical-014.ical | 106 | ||||
-rw-r--r-- | test/data/rfc5545 | 28 | ||||
-rw-r--r-- | test/data/rfc5545.ical | 238 |
9 files changed, 578 insertions, 4 deletions
diff --git a/test/data/ical-003.ical b/test/data/ical-003.ical index 599d24f..5645705 100644 --- a/test/data/ical-003.ical +++ b/test/data/ical-003.ical @@ -22,4 +22,49 @@ EXDATE:20000215T000000 EXDATE:20000223T000000 SUMMARY:Recurring appointment END:VEVENT +BEGIN:VEVENT +DTSTART:20200526T120000 +DURATION:PT1H17M0S +RRULE:FREQ=DAILY;UNTIL=20200529T130000 +SUMMARY: until May 29 2020\, 13:00 +END:VEVENT +BEGIN:VEVENT +DTSTART:20200526T120000 +DURATION:PT1H17M0S +RRULE:FREQ=DAILY;UNTIL=20200529T110000 +SUMMARY: until May 29 2020\, 11:00 +END:VEVENT +BEGIN:VEVENT +DTSTART:20200531T214500 +DURATION:PT15M0S +RRULE:FREQ=MONTHLY;COUNT=10 +EXDATE:20200731T214500,20210131T214500 +SUMMARY:monthly on 31th\, count 10\, exceptions 31/7/2020 and 31/1/2021 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;VALUE=DATE:20200502 +DTEND;VALUE=DATE:20200504 +DESCRIPTION:The first weekend in May is a two-day event.\nNon-repeating event. +SUMMARY:First weekend in May +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;VALUE=DATE:20200502 +DTEND;VALUE=DATE:20200504 +DESCRIPTION:First weekend in May is a two-day event!\nRepeating event\, three years. +SUMMARY:First weekend in May +RRULE:FREQ=YEARLY;BYDAY=1SA;BYMONTH=5;COUNT=3 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART:20200502T000000 +DTEND:20200504T000000 +DESCRIPTION:First weekend in May is a two-day event!\nRepeating appointment. +SUMMARY:First weekend in May +RRULE:FREQ=YEARLY;BYDAY=1SA;BYMONTH=5;COUNT=3 +END:VEVENT END:VCALENDAR diff --git a/test/data/ical-005.ical b/test/data/ical-005.ical index 5f20f48..e417779 100644 --- a/test/data/ical-005.ical +++ b/test/data/ical-005.ical @@ -18,6 +18,6 @@ TRANSP:TRANSPARENT END:VEVENT BEGIN:VEVENT SUMMARY:On day 2 -DTSTART;VALUE=DATE:20131003 +DTSTART;VALUE=DATE:20131004 END:VEVENT END:VCALENDAR diff --git a/test/data/ical-007.ical b/test/data/ical-007.ical index e46c3fb..a7dfdd5 100644 --- a/test/data/ical-007.ical +++ b/test/data/ical-007.ical @@ -10,4 +10,9 @@ SUMMARY:UTC DTSTART:20150223T110000Z DURATION:PT1H END:VEVENT +BEGIN:VEVENT +SUMMARY:CET +DTSTART;TZID=CET:20150223T110000 +DURATION:PT1H +END:VEVENT END:VCALENDAR diff --git a/test/data/ical-008.ical b/test/data/ical-008.ical index 51625d5..7789734 100644 --- a/test/data/ical-008.ical +++ b/test/data/ical-008.ical @@ -1,8 +1,8 @@ BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT -DTSTART;TZID="(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien":19800101T000100 -DURATION:P1DT9H17M0S +DTSTART:19800101T000100 +DURATION;TESTPARAM="Quoted string with colon(:), semicolon(;) and comma(,)":P1DT9H17M0S SUMMARY:Calibrator's END:VEVENT BEGIN:VTODO diff --git a/test/data/ical-009.ical b/test/data/ical-009.ical index 73e9037..14bf4eb 100644 --- a/test/data/ical-009.ical +++ b/test/data/ical-009.ical @@ -1,9 +1,9 @@ BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT -DTSTART:20200318T084100 DURATION:PT1H30M0S SUMMARY:A simple appointment +DTSTART:20200318T084100 END:VEVENT BEGIN:VTODO PRIORITY:1 @@ -12,6 +12,10 @@ END:VTODO BEGIN:VEVENT DTSTART: DURATION:PT1H30M0S +SUMMARY:invalid start time +END:VEVENT +BEGIN:VEVENT +DURATION:PT1H30M0S SUMMARY:missing start time END:VEVENT BEGIN:VEVENT @@ -39,6 +43,12 @@ END:VEVENT BEGIN:VEVENT DTSTART:20200318T084100 DURATION:PT1H30M0S +EXDATE:20200324T084100 +SUMMARY:exdate\, missing rrule +END:VEVENT +BEGIN:VEVENT +DTSTART:20200318T084100 +DURATION:PT1H30M0S SUMMARY:Summary with more than\none line END:VEVENT BEGIN:VEVENT @@ -63,6 +73,59 @@ BEGIN:VTODO PRIORITY:1 SUMMARY:an unescaped comma: , END:VTODO +BEGIN:VEVENT +DTSTART:20200406T221300 +DURATION:PT0H15M0S +SUMMARY:LOCATION twice +LOCATION:first +LOCATION:second +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200406 +DURATION:PT0H15M0S +SUMMARY:Invalid duration (must be days or weeks) +END:VEVENT +BEGIN:VEVENT +DTSTART:20200406 +DURATION:P1D +SUMMARY:Invalid DTSTART value type +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200406 +SUMMARY:Invalid DTEND value type +DTEND:20200407 +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200406 +DURATION:P1D +RRULE:FREQ=MONTHLY;UNTIL=20201030T120000Z +SUMMARY:Invalid UNTIL value +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200406 +DURATION:P1D +RRULE:FREQ=MONTHLY;UNTIL=20201030 +EXDATE:20200606 +SUMMARY:Invalid EXDATE value type +END:VEVENT +BEGIN:VEVENT +DTSTART;VALUE=DATE:20200406 +DURATION:P1D +RRULE:FREQ=MONTHLY;UNTIL=20201030 +EXDATE;VALUE=DATE:20200606T120000Z +SUMMARY:Invalid EXDATE value +END:VEVENT +BEGIN:VEVENT +DTSTART:20200527T163000 +DTEND:20200528T163000 +DURATION:P1D +SUMMARY:Both end time and duration +END:VEVENT +BEGIN:VEVENT +DTSTART:20200527T163000 +DTEND:20200526T163000 +SUMMARY:End time before start +END:VEVENT BEGIN:VTODO SUMMARY:finally\, missing end of item END:VCALENDAR diff --git a/test/data/ical-012.ical b/test/data/ical-012.ical new file mode 100644 index 0000000..05604af --- /dev/null +++ b/test/data/ical-012.ical @@ -0,0 +1,89 @@ +BEGIN:VCALENDAR +VERSION:2.0 + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:event with one-line description +DESCRIPTION:event with one-line description +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:description and location +DESCRIPTION:event with description\nand location +LOCATION: Right here +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:no description\, but comment +COMMENT:Event without description: a comment\nstreching over\nthree lines +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:Empty description +DESCRIPTION: +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:Empty description\, but comment +DESCRIPTION: +COMMENT:event with empty description +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:description\, comment and location +DESCRIPTION:event with\ndescription\ncomment\nand location +LOCATION: Right here +COMMENT:just a repetition of description:\nevent with\ndescription\ncomment\nand location +END:VEVENT + +BEGIN:VTODO +PRIORITY:2 +SUMMARY:todo with one-line description +DESCRIPTION:todo with one-line description +END:VTODO + +BEGIN:VTODO +PRIORITY:3 +SUMMARY:description and location +DESCRIPTION:todo with description\nand location +LOCATION: Right here +END:VTODO + +BEGIN:VTODO +PRIORITY:4 +SUMMARY:no description\, but comment +COMMENT:Todo without description. A comment\nstreching over\nthree lines +END:VTODO + +BEGIN:VTODO +PRIORITY:5 +SUMMARY:Empty description +DESCRIPTION: +END:VTODO + +BEGIN:VTODO +PRIORITY:6 +SUMMARY:Empty description +DESCRIPTION: +END:VTODO + +BEGIN:VTODO +SUMMARY:todo with description\, comment and location +DESCRIPTION:todo with\ndescription\ncomment\nand location\,\nbut no priority +LOCATION: Right here +COMMENT:mostly a repetition of description:\ntodo with\ndescription\ncomment\nand location +STATUS:COMPLETED +END:VTODO + +END:VCALENDAR diff --git a/test/data/ical-014.ical b/test/data/ical-014.ical new file mode 100644 index 0000000..19076bc --- /dev/null +++ b/test/data/ical-014.ical @@ -0,0 +1,106 @@ +BEGIN:VCALENDAR +VERSION:2.0 + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:event with one-line description +DESCRIPTION:event with one-line description +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:description and location +DESCRIPTION:event with description\nand location +LOCATION:Right here +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:no description\, but comment +COMMENT:Event without description: a comment\nstreching over\nthree lines +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:Empty description +DESCRIPTION: +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T084100 +DURATION:PT1H30M0S +SUMMARY:Empty description\, but comment +DESCRIPTION: +COMMENT:event with empty description +END:VEVENT + +BEGIN:VEVENT +DTSTART:20200404T204500 +DURATION:PT1H30M0S +SUMMARY:description\, comment and location +DESCRIPTION:event with\ndescription\ncomment\nand location +LOCATION:Right here +COMMENT:just a repetition of description:\nevent with\ndescription\ncomment\nand location +END:VEVENT + +BEGIN:VTODO +PRIORITY:2 +SUMMARY:todo with one-line description +DESCRIPTION:todo with one-line description +END:VTODO + +BEGIN:VTODO +PRIORITY:3 +SUMMARY:description and location +DESCRIPTION:todo with description\nand location +LOCATION:Right here +END:VTODO + +BEGIN:VTODO +PRIORITY:4 +SUMMARY:no description\, but comment +COMMENT:Todo without description. A comment\nstreching over\nthree lines +END:VTODO + +BEGIN:VTODO +PRIORITY:5 +SUMMARY:Empty description +DESCRIPTION: +END:VTODO + +BEGIN:VTODO +PRIORITY:6 +SUMMARY:Empty description +DESCRIPTION: +END:VTODO + +BEGIN:VTODO +SUMMARY:todo with description\, comment and location +DESCRIPTION:todo with\ndescription\ncomment\nand location\,\nbut no priority +LOCATION:Right here +COMMENT:mostly a repetition of description:\ntodo with\ndescription\ncomment\nand location +STATUS:COMPLETED +END:VTODO + +BEGIN:VEVENT +SUMMARY:Five days +DESCRIPTION:A five-day event turned into a recurring one-day event +COMMENT:Note file has Comment: and Import: +DTSTART;VALUE=DATE:20200819 +DTEND;VALUE=DATE:20200824 +END:VEVENT + +BEGIN:VEVENT +SUMMARY:CET +DESCRIPTION:Date with local time and time zone reference +LOCATION:Central Europe +COMMENT:\nCET\n\n +DTSTART;TZID=CET:20150223T110000 +DURATION:PT1H +END:VEVENT + +END:VCALENDAR diff --git a/test/data/rfc5545 b/test/data/rfc5545 new file mode 100644 index 0000000..d9863ce --- /dev/null +++ b/test/data/rfc5545 @@ -0,0 +1,28 @@ +01/05/1997 @ 08:30 -> 01/05/1997 @ 08:30 {2Y w0 m1} |page 45: every sunday in January at 8:30 AM, every other year (FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU) +01/01/1998 @ 09:00 -> 01/01/1998 @ 09:00 {1Y -> 01/31/2000 w0 w1 w2 w3 w4 w5 w6 m1} |page 124(1): Every day in January for three years (FREQ=YEARLY;UNTIL=20000131T140000Z;BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA) +01/01/1998 @ 09:00 -> 01/01/1998 @ 09:00 {1D -> 01/31/2000 m1} |page 124(2): Every day in January for three years (FREQ=DAILY;UNTIL=20000131T140000Z;BYMONTH=1) +09/02/1997 @ 09:00 -> 09/02/1997 @ 09:00 {1W -> 10/02/1997 w2 w4} |page 125(1): Weekly on Tuesday and Thursday for five weeks (FREQ=WEEKLY;UNTIL=19971002T000000Z;BYDAY=TU,TH) +09/01/1997 @ 09:00 -> 09/01/1997 @ 09:00 {2W -> 12/24/1997 w1 w3 w5} |page 125: Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997 (FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;BYDAY=MO,WE,FR) +09/05/1997 @ 09:00 -> 09/05/1997 @ 09:00 {1M -> 06/05/1998 w12} |page 126: Monthly on the first Friday for 10 occurrences (FREQ=MONTHLY;COUNT=10;BYDAY=1FR) +09/07/1997 @ 09:00 -> 09/07/1997 @ 09:00 {2M -> 05/31/1998 w7 w-7} |page 126: Every other month on the first and last Sunday of the month for 10 occurrences (RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU) +09/22/1997 @ 09:00 -> 09/22/1997 @ 09:00 {1M -> 02/28/1998 w-15} |page 126: Monthly on the second-to-last Monday of the month for 6 months (RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO) +09/28/1997 [1] {1M d-3} page 127: Monthly on the third-to-last day of the month, forever (RRULE:FREQ=MONTHLY;BYMONTHDAY=-3) +09/02/1997 @ 09:00 -> 09/02/1997 @ 09:00 {1M -> 02/01/1998 d2 d15} |Page 127: Monthly on the 2nd and 15th of month for 10 occurrences (RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15) +09/30/1997 @ 09:00 -> 09/30/1997 @ 09:00 {1M -> 02/01/1998 d1 d-1} |page 127: Monthly on the first and last day of the month for 10 occurrences (RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1) +09/10/1997 @ 09:00 -> 09/10/1997 @ 09:00 {18M -> 03/13/1999 d10 d11 d12 d13 d14 d15} |page 127: Every 18 months on the 10th thru 15th of the month for 10 occurrences (RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15) +09/02/1997 @ 09:00 -> 09/02/1997 @ 09:00 {2M w2} |page 127: Every Tuesday, every other month (RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU) +06/10/1997 @ 09:00 -> 06/10/1997 @ 09:00 {1Y -> 07/10/2001 m6 m7} |page 128: Yearly in June and July for 10 occurrences (RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7) +03/10/1997 @ 09:00 -> 03/10/1997 @ 09:00 {2Y -> 03/10/2003 m1 m2 m3} |page 128: Every other year in January, February and March for 10 occurrences (RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3) +05/19/1997 [1] {1Y w141} page 128: Every 20th Monday of the year, forever (RRULE:FREQ=YEARLY;BYDAY=20MO) +03/13/1997 @ 09:00 -> 03/13/1997 @ 09:00 {1Y w4 m3} |page 129: Every Thursday in March, forever (RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH) +06/05/1997 @ 09:00 -> 06/05/1997 @ 09:00 {1Y w4 m6 m7 m8} |page 129: Every Thursday, but only during June, July and August, forever (RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8) +02/13/1998 [1] {1M d13 w5} page 129: Every Friday the 13th, forever (RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13) +09/13/1997 [1] {1M d7 d8 d9 d10 d11 d12 d13 w6} page 130: The first Saturday that follows the first Sunday of the month, forever (RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13) +11/05/1996 [1] {4Y d2 d3 d4 d5 d6 d7 d8 w2 m11} page 130: Every 4 years, the first Tuesday after a Monday in November, forever (U.S. Presidential Election day) (RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8) +08/05/1997 @ 09:00 -> 08/05/1997 @ 09:00 {2W -> 08/31/1997 w0 w2} |page 131: An example where the days generated makes a difference because of weekstart (RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU) +01/15/2007 [1] {1M -> 03/30/2007 d15 d30} page 132: An example where an invalid date (i.e. February 30) is ignored (RRULE:FREQ=MONTHLY;BYMONTHDAY=15,30;COUNT=5) +03/30/1997 @ 09:00 -> 03/30/1997 @ 09:00 {1Y w-7 m3} |Last Sunday in March, forever (RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU) +12/25/1997 [1] {3Y w-11} Last Thursday of the year every third year, forever (FREQ=YEARLY;INTERVAL=3;BYDAY=-1TH) +06/22/1997 [1] {2Y w0 w1} Every Sunday and Monday, every other year (FREQ=YEARLY;INTERVAL=2;BYDAY=SU,MO) +02/01/1997 [1] {1Y -> 01/31/2005 d1 d29 m2} Every year on February 1 and 29 for eight years (RRULE:FREQ=YEARLY;UNTIL=20050131T000000Z;BYMONTH=2;BYMONTHDAY=1,29) +08/01/2020 @ 08:41 -> 08/01/2020 @ 10:11 {1M w-41} |negative ordered weekday may not exist diff --git a/test/data/rfc5545.ical b/test/data/rfc5545.ical new file mode 100644 index 0000000..3f51388 --- /dev/null +++ b/test/data/rfc5545.ical @@ -0,0 +1,238 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID: +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970901T090000 +SUMMARY:Every other week on Monday\, Wednesday\, and Friday until December 24\, 1997\, starting on Monday\, September 1\, 1997 +RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;BYDAY=MO,WE,FR +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Every other week on Tuesday and Thursday\, for 8 occurrences +RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970905T090000 +SUMMARY:Monthly on the first Friday for 10 occurrences +RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970905T090000 +SUMMARY:Monthly on the first Friday until December 24\, 1997 +RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970907T090000 +SUMMARY:Every other month on the first and last Sunday of the month for 10 occurrences +RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970922T090000 +SUMMARY:Monthly on the second-to-last Monday of the month for 6 months +RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970928T090000 +SUMMARY:Monthly on the third-to-the-last day of the month\, forever +RRULE:FREQ=MONTHLY;BYMONTHDAY=-3 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Monthly on the 2nd and 15th of the month for 10 occurrences +RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970930T090000 +SUMMARY:Monthly on the first and last day of the month for 10 occurrences +RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970910T090000 +SUMMARY:Every 18 months on the 10th thru 15th of the month for 10 occurrences +RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +DURATION:PT1H +SUMMARY:Daily for 10 occurrences +RRULE:FREQ=DAILY;COUNT=10 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Every Tuesday\, every other month +RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970610T090000 +SUMMARY:Yearly in June and July for 10 occurrences +RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970310T090000 +SUMMARY:Every other year on January\, February\, and March for 10 occurrences +RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970519T090000 +SUMMARY:Every 20th Monday of the year\, forever +RRULE:FREQ=YEARLY;BYDAY=20MO +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970313T090000 +SUMMARY:Every Thursday in March\, forever +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970605T090000 +SUMMARY:Every Thursday\, but only during June\, July\, and August\, forever +RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19980213T090000 +SUMMARY:Every Friday the 13th\, forever +RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970913T090000 +SUMMARY:The first Saturday that follows the first Sunday of the month\, forever +RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19961105T090000 +SUMMARY:Every 4 years\, the first Tuesday after a Monday in November\, forever (U.S. Presidential Election day) +RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970805T090000 +SUMMARY:An example where the days generated makes a difference because of WKST +RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970805T090000 +SUMMARY:changing only WKST from MO to SU\, yields different results... +RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +DURATION:PT30M +SUMMARY:Daily until December 24\, 1997 +RRULE:FREQ=DAILY;UNTIL=19971224T000000Z +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:20070115T090000 +SUMMARY:An example where an invalid date (i.e.\, February 30) is ignored +RRULE:FREQ=MONTHLY;BYMONTHDAY=15,30;COUNT=5 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +DURATION:PT5M +SUMMARY:Every other day - forever +RRULE:FREQ=DAILY;INTERVAL=2 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Every 10 days\, 5 occurrences: +RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19980101T090000 +SUMMARY:(1) Every day in January\, for 3 years: +RRULE:FREQ=YEARLY;UNTIL=20000131T140000Z;BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19980101T090000 +SUMMARY:(2) Every day in January\, for 3 years: +RRULE:FREQ=DAILY;UNTIL=20000131T140000Z;BYMONTH=1 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Weekly for 10 occurrences +RRULE:FREQ=WEEKLY;COUNT=10 +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Weekly until December 24\, 1997 +RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Every other week - forever +RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Weekly on Tuesday and Thursday for five weeks (UNTIL) +RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH +END:VEVENT +BEGIN:VEVENT +DTSTAMP: +UID: +DTSTART;TZID=America/New_York:19970902T090000 +SUMMARY:Weekly on Tuesday and Thursday for five weeks (COUNT) +RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH +END:VEVENT +END:VCALENDAR |