From 712654d4c023a2ab13190c6905d313e0ba897965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 2 Oct 2023 19:26:40 +0200 Subject: Rewrite test running system. --- tests/test/recurrence-advanced.scm | 1550 ------------------------------------ 1 file changed, 1550 deletions(-) delete mode 100644 tests/test/recurrence-advanced.scm (limited to 'tests/test/recurrence-advanced.scm') diff --git a/tests/test/recurrence-advanced.scm b/tests/test/recurrence-advanced.scm deleted file mode 100644 index c2d71e61..00000000 --- a/tests/test/recurrence-advanced.scm +++ /dev/null @@ -1,1550 +0,0 @@ -;;; Commentary: -;; Tests of recurrence rule generation with focus on correct instances -;; being generated. For tests of basic recurrence functionallity, see -;; recurrence-simple.scm. -;; -;; This file also tests format-recurrence-rule, which checks that human -;; readable representations of the RRULES work. -;; -;; Also contains the tests for EXDATE. -;; -;; Most examples copied from RFC5545, some home written. -;;; Code: - -(define-module (test recurrence-advanced) - :use-module (srfi srfi-64) - :use-module (srfi srfi-88) - :use-module ((vcomponent recurrence) - :select (make-recur-rule)) - :use-module ((vcomponent recurrence generate) - :select (generate-recurrence-set)) - :use-module ((vcomponent recurrence display) - :select (format-recurrence-rule)) - :use-module ((vcomponent recurrence internal) - :select (count until)) - :use-module ((vcomponent base) - :select (prop prop* extract)) - :use-module (vcomponent create) - :use-module ((datetime) - :select (parse-ics-datetime - datetime - datetime-date - time - date - jan feb mar apr may jun jul aug sep oct nov dec - mon tue wed thu fri sat sun - datetime->string)) - :use-module ((hnh util) :select (-> set!)) - :use-module ((srfi srfi-41) :select (stream->list)) - :use-module ((srfi srfi-88) :select (keyword->string))) - -(test-expect-fail "REC: The third instance into the month of one of Tuesday, Wednesday, or Thursday, for the next 3 months") - -(test-expect-fail "STR: The third instance into the month of one of Tuesday, Wednesday, or Thursday, for the next 3 months") - -(test-expect-fail "REC: The second-to-last weekday of the month") - -(test-expect-fail "STR: The second-to-last weekday of the month") - -;; TODO this test is really slow, figure out why (takes approx. 25s to run) -(test-skip "REC: Every day in January, for 3 years (alt 2)") - -(define (run-test comp) - (test-equal - (string-append "REC: " (prop comp 'SUMMARY)) - (prop comp 'X-SET) - (let ((r (generate-recurrence-set comp))) - (map (extract 'DTSTART) - (if (or (until (prop comp 'RRULE)) - (count (prop comp 'RRULE))) - (stream->list r) - (stream->list 20 r))))) - (test-equal - (string-append "STR: " (prop comp 'SUMMARY)) - (prop comp 'X-SUMMARY) - ;; TODO setting language='en causes messages to be in english, but date - ;; strings still format LC_TIME (which I have set to swedish)... - ;; TODO possibly test with other languages - (format-recurrence-rule (prop comp 'RRULE) 'sv))) - -(map run-test - (list (vevent - summary: - "Daily for 10 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - count: 10) - x-summary: - "dagligen, totalt 10 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-03T09:00:00 - #1997-09-04T09:00:00 - #1997-09-05T09:00:00 - #1997-09-06T09:00:00 - #1997-09-07T09:00:00 - #1997-09-08T09:00:00 - #1997-09-09T09:00:00 - #1997-09-10T09:00:00 - #1997-09-11T09:00:00)) - (vevent - summary: - "Daily until December 24, 1997" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - until: #1997-12-24T00:00:00Z) - x-summary: - "dagligen, till och med den 24 december, 1997 kl. 0:00" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-03T09:00:00 - #1997-09-04T09:00:00 - #1997-09-05T09:00:00 - #1997-09-06T09:00:00 - #1997-09-07T09:00:00 - #1997-09-08T09:00:00 - #1997-09-09T09:00:00 - #1997-09-10T09:00:00 - #1997-09-11T09:00:00 - #1997-09-12T09:00:00 - #1997-09-13T09:00:00 - #1997-09-14T09:00:00 - #1997-09-15T09:00:00 - #1997-09-16T09:00:00 - #1997-09-17T09:00:00 - #1997-09-18T09:00:00 - #1997-09-19T09:00:00 - #1997-09-20T09:00:00 - #1997-09-21T09:00:00 - #1997-09-22T09:00:00 - #1997-09-23T09:00:00 - #1997-09-24T09:00:00 - #1997-09-25T09:00:00 - #1997-09-26T09:00:00 - #1997-09-27T09:00:00 - #1997-09-28T09:00:00 - #1997-09-29T09:00:00 - #1997-09-30T09:00:00 - #1997-10-01T09:00:00 - #1997-10-02T09:00:00 - #1997-10-03T09:00:00 - #1997-10-04T09:00:00 - #1997-10-05T09:00:00 - #1997-10-06T09:00:00 - #1997-10-07T09:00:00 - #1997-10-08T09:00:00 - #1997-10-09T09:00:00 - #1997-10-10T09:00:00 - #1997-10-11T09:00:00 - #1997-10-12T09:00:00 - #1997-10-13T09:00:00 - #1997-10-14T09:00:00 - #1997-10-15T09:00:00 - #1997-10-16T09:00:00 - #1997-10-17T09:00:00 - #1997-10-18T09:00:00 - #1997-10-19T09:00:00 - #1997-10-20T09:00:00 - #1997-10-21T09:00:00 - #1997-10-22T09:00:00 - #1997-10-23T09:00:00 - #1997-10-24T09:00:00 - #1997-10-25T09:00:00 - #1997-10-26T09:00:00 - #1997-10-27T09:00:00 - #1997-10-28T09:00:00 - #1997-10-29T09:00:00 - #1997-10-30T09:00:00 - #1997-10-31T09:00:00 - #1997-11-01T09:00:00 - #1997-11-02T09:00:00 - #1997-11-03T09:00:00 - #1997-11-04T09:00:00 - #1997-11-05T09:00:00 - #1997-11-06T09:00:00 - #1997-11-07T09:00:00 - #1997-11-08T09:00:00 - #1997-11-09T09:00:00 - #1997-11-10T09:00:00 - #1997-11-11T09:00:00 - #1997-11-12T09:00:00 - #1997-11-13T09:00:00 - #1997-11-14T09:00:00 - #1997-11-15T09:00:00 - #1997-11-16T09:00:00 - #1997-11-17T09:00:00 - #1997-11-18T09:00:00 - #1997-11-19T09:00:00 - #1997-11-20T09:00:00 - #1997-11-21T09:00:00 - #1997-11-22T09:00:00 - #1997-11-23T09:00:00 - #1997-11-24T09:00:00 - #1997-11-25T09:00:00 - #1997-11-26T09:00:00 - #1997-11-27T09:00:00 - #1997-11-28T09:00:00 - #1997-11-29T09:00:00 - #1997-11-30T09:00:00 - #1997-12-01T09:00:00 - #1997-12-02T09:00:00 - #1997-12-03T09:00:00 - #1997-12-04T09:00:00 - #1997-12-05T09:00:00 - #1997-12-06T09:00:00 - #1997-12-07T09:00:00 - #1997-12-08T09:00:00 - #1997-12-09T09:00:00 - #1997-12-10T09:00:00 - #1997-12-11T09:00:00 - #1997-12-12T09:00:00 - #1997-12-13T09:00:00 - #1997-12-14T09:00:00 - #1997-12-15T09:00:00 - #1997-12-16T09:00:00 - #1997-12-17T09:00:00 - #1997-12-18T09:00:00 - #1997-12-19T09:00:00 - #1997-12-20T09:00:00 - #1997-12-21T09:00:00 - #1997-12-22T09:00:00 - #1997-12-23T09:00:00)) - (vevent - summary: - "Every other day - forever" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - interval: 2) - x-summary: - "varannan dag" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-04T09:00:00 - #1997-09-06T09:00:00 - #1997-09-08T09:00:00 - #1997-09-10T09:00:00 - #1997-09-12T09:00:00 - #1997-09-14T09:00:00 - #1997-09-16T09:00:00 - #1997-09-18T09:00:00 - #1997-09-20T09:00:00 - #1997-09-22T09:00:00 - #1997-09-24T09:00:00 - #1997-09-26T09:00:00 - #1997-09-28T09:00:00 - #1997-09-30T09:00:00 - #1997-10-02T09:00:00 - #1997-10-04T09:00:00 - #1997-10-06T09:00:00 - #1997-10-08T09:00:00 - #1997-10-10T09:00:00)) - (vevent - summary: - "Every 10 days, 5 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - interval: 10 - count: 5) - x-summary: - "var tionde dag, totalt 5 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-12T09:00:00 - #1997-09-22T09:00:00 - #1997-10-02T09:00:00 - #1997-10-12T09:00:00)) - (vevent - summary: - "Every day in January, for 3 years (alt 1)" - dtstart: - #1998-01-01T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - until: #2000-01-31T14:00:00Z - bymonth: (list jan) - byday: (list sun mon tue wed thu fri sat)) - x-summary: - "varje lördag, fredag, torsdag, onsdag, tisdag, måndag & söndag i januari, årligen, till och med den 31 januari, 2000 kl. 14:00" - x-set: - (list #1998-01-01T09:00:00 - #1998-01-02T09:00:00 - #1998-01-03T09:00:00 - #1998-01-04T09:00:00 - #1998-01-05T09:00:00 - #1998-01-06T09:00:00 - #1998-01-07T09:00:00 - #1998-01-08T09:00:00 - #1998-01-09T09:00:00 - #1998-01-10T09:00:00 - #1998-01-11T09:00:00 - #1998-01-12T09:00:00 - #1998-01-13T09:00:00 - #1998-01-14T09:00:00 - #1998-01-15T09:00:00 - #1998-01-16T09:00:00 - #1998-01-17T09:00:00 - #1998-01-18T09:00:00 - #1998-01-19T09:00:00 - #1998-01-20T09:00:00 - #1998-01-21T09:00:00 - #1998-01-22T09:00:00 - #1998-01-23T09:00:00 - #1998-01-24T09:00:00 - #1998-01-25T09:00:00 - #1998-01-26T09:00:00 - #1998-01-27T09:00:00 - #1998-01-28T09:00:00 - #1998-01-29T09:00:00 - #1998-01-30T09:00:00 - #1998-01-31T09:00:00 - #1999-01-01T09:00:00 - #1999-01-02T09:00:00 - #1999-01-03T09:00:00 - #1999-01-04T09:00:00 - #1999-01-05T09:00:00 - #1999-01-06T09:00:00 - #1999-01-07T09:00:00 - #1999-01-08T09:00:00 - #1999-01-09T09:00:00 - #1999-01-10T09:00:00 - #1999-01-11T09:00:00 - #1999-01-12T09:00:00 - #1999-01-13T09:00:00 - #1999-01-14T09:00:00 - #1999-01-15T09:00:00 - #1999-01-16T09:00:00 - #1999-01-17T09:00:00 - #1999-01-18T09:00:00 - #1999-01-19T09:00:00 - #1999-01-20T09:00:00 - #1999-01-21T09:00:00 - #1999-01-22T09:00:00 - #1999-01-23T09:00:00 - #1999-01-24T09:00:00 - #1999-01-25T09:00:00 - #1999-01-26T09:00:00 - #1999-01-27T09:00:00 - #1999-01-28T09:00:00 - #1999-01-29T09:00:00 - #1999-01-30T09:00:00 - #1999-01-31T09:00:00 - #2000-01-01T09:00:00 - #2000-01-02T09:00:00 - #2000-01-03T09:00:00 - #2000-01-04T09:00:00 - #2000-01-05T09:00:00 - #2000-01-06T09:00:00 - #2000-01-07T09:00:00 - #2000-01-08T09:00:00 - #2000-01-09T09:00:00 - #2000-01-10T09:00:00 - #2000-01-11T09:00:00 - #2000-01-12T09:00:00 - #2000-01-13T09:00:00 - #2000-01-14T09:00:00 - #2000-01-15T09:00:00 - #2000-01-16T09:00:00 - #2000-01-17T09:00:00 - #2000-01-18T09:00:00 - #2000-01-19T09:00:00 - #2000-01-20T09:00:00 - #2000-01-21T09:00:00 - #2000-01-22T09:00:00 - #2000-01-23T09:00:00 - #2000-01-24T09:00:00 - #2000-01-25T09:00:00 - #2000-01-26T09:00:00 - #2000-01-27T09:00:00 - #2000-01-28T09:00:00 - #2000-01-29T09:00:00 - #2000-01-30T09:00:00 - #2000-01-31T09:00:00)) - (vevent - summary: - "Every day in January, for 3 years (alt 2)" - dtstart: - #1998-01-01T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - until: #2000-01-31T14:00:00Z - bymonth: 1) - x-summary: - "dagligen, till och med den 31 januari, 2000 kl. 14:00" - x-set: - (list #1998-01-01T09:00:00 - #1998-01-02T09:00:00 - #1998-01-03T09:00:00 - #1998-01-04T09:00:00 - #1998-01-05T09:00:00 - #1998-01-06T09:00:00 - #1998-01-07T09:00:00 - #1998-01-08T09:00:00 - #1998-01-09T09:00:00 - #1998-01-10T09:00:00 - #1998-01-11T09:00:00 - #1998-01-12T09:00:00 - #1998-01-13T09:00:00 - #1998-01-14T09:00:00 - #1998-01-15T09:00:00 - #1998-01-16T09:00:00 - #1998-01-17T09:00:00 - #1998-01-18T09:00:00 - #1998-01-19T09:00:00 - #1998-01-20T09:00:00 - #1998-01-21T09:00:00 - #1998-01-22T09:00:00 - #1998-01-23T09:00:00 - #1998-01-24T09:00:00 - #1998-01-25T09:00:00 - #1998-01-26T09:00:00 - #1998-01-27T09:00:00 - #1998-01-28T09:00:00 - #1998-01-29T09:00:00 - #1998-01-30T09:00:00 - #1998-01-31T09:00:00 - #1999-01-01T09:00:00 - #1999-01-02T09:00:00 - #1999-01-03T09:00:00 - #1999-01-04T09:00:00 - #1999-01-05T09:00:00 - #1999-01-06T09:00:00 - #1999-01-07T09:00:00 - #1999-01-08T09:00:00 - #1999-01-09T09:00:00 - #1999-01-10T09:00:00 - #1999-01-11T09:00:00 - #1999-01-12T09:00:00 - #1999-01-13T09:00:00 - #1999-01-14T09:00:00 - #1999-01-15T09:00:00 - #1999-01-16T09:00:00 - #1999-01-17T09:00:00 - #1999-01-18T09:00:00 - #1999-01-19T09:00:00 - #1999-01-20T09:00:00 - #1999-01-21T09:00:00 - #1999-01-22T09:00:00 - #1999-01-23T09:00:00 - #1999-01-24T09:00:00 - #1999-01-25T09:00:00 - #1999-01-26T09:00:00 - #1999-01-27T09:00:00 - #1999-01-28T09:00:00 - #1999-01-29T09:00:00 - #1999-01-30T09:00:00 - #1999-01-31T09:00:00 - #2000-01-01T09:00:00 - #2000-01-02T09:00:00 - #2000-01-03T09:00:00 - #2000-01-04T09:00:00 - #2000-01-05T09:00:00 - #2000-01-06T09:00:00 - #2000-01-07T09:00:00 - #2000-01-08T09:00:00 - #2000-01-09T09:00:00 - #2000-01-10T09:00:00 - #2000-01-11T09:00:00 - #2000-01-12T09:00:00 - #2000-01-13T09:00:00 - #2000-01-14T09:00:00 - #2000-01-15T09:00:00 - #2000-01-16T09:00:00 - #2000-01-17T09:00:00 - #2000-01-18T09:00:00 - #2000-01-19T09:00:00 - #2000-01-20T09:00:00 - #2000-01-21T09:00:00 - #2000-01-22T09:00:00 - #2000-01-23T09:00:00 - #2000-01-24T09:00:00 - #2000-01-25T09:00:00 - #2000-01-26T09:00:00 - #2000-01-27T09:00:00 - #2000-01-28T09:00:00 - #2000-01-29T09:00:00 - #2000-01-30T09:00:00 - #2000-01-31T09:00:00)) - (vevent - summary: - "Weekly for 10 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - count: 10) - x-summary: - "varje vecka, totalt 10 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-09T09:00:00 - #1997-09-16T09:00:00 - #1997-09-23T09:00:00 - #1997-09-30T09:00:00 - #1997-10-07T09:00:00 - #1997-10-14T09:00:00 - #1997-10-21T09:00:00 - #1997-10-28T09:00:00 - #1997-11-04T09:00:00)) - (vevent - summary: - "Weekly until December 24, 1997" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - until: #1997-12-24T00:00:00Z) - x-summary: - "varje vecka, till och med den 24 december, 1997 kl. 0:00" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-09T09:00:00 - #1997-09-16T09:00:00 - #1997-09-23T09:00:00 - #1997-09-30T09:00:00 - #1997-10-07T09:00:00 - #1997-10-14T09:00:00 - #1997-10-21T09:00:00 - #1997-10-28T09:00:00 - #1997-11-04T09:00:00 - #1997-11-11T09:00:00 - #1997-11-18T09:00:00 - #1997-11-25T09:00:00 - #1997-12-02T09:00:00 - #1997-12-09T09:00:00 - #1997-12-16T09:00:00 - #1997-12-23T09:00:00)) - (vevent - summary: - "Every other week - forever" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - interval: 2 - wkst: sun) - x-summary: - "varannan vecka" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-16T09:00:00 - #1997-09-30T09:00:00 - #1997-10-14T09:00:00 - #1997-10-28T09:00:00 - #1997-11-11T09:00:00 - #1997-11-25T09:00:00 - #1997-12-09T09:00:00 - #1997-12-23T09:00:00 - #1998-01-06T09:00:00 - #1998-01-20T09:00:00 - #1998-02-03T09:00:00 - #1998-02-17T09:00:00 - #1998-03-03T09:00:00 - #1998-03-17T09:00:00 - #1998-03-31T09:00:00 - #1998-04-14T09:00:00 - #1998-04-28T09:00:00 - #1998-05-12T09:00:00 - #1998-05-26T09:00:00)) - (vevent - summary: - "Weekly on Tuesday and Thursday for five weeks (alt 1)" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - until: #1997-10-07T00:00:00Z - wkst: sun - byday: (list tue thu)) - x-summary: - "varje tisdag & torsdag, till och med den 07 oktober, 1997 kl. 0:00" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-04T09:00:00 - #1997-09-09T09:00:00 - #1997-09-11T09:00:00 - #1997-09-16T09:00:00 - #1997-09-18T09:00:00 - #1997-09-23T09:00:00 - #1997-09-25T09:00:00 - #1997-09-30T09:00:00 - #1997-10-02T09:00:00)) - (vevent - summary: - "Weekly on Tuesday and Thursday for five weeks (alt 2)" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - count: 10 - wkst: sun - byday: (list tue thu)) - x-summary: - "varje tisdag & torsdag, totalt 10 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-04T09:00:00 - #1997-09-09T09:00:00 - #1997-09-11T09:00:00 - #1997-09-16T09:00:00 - #1997-09-18T09:00:00 - #1997-09-23T09:00:00 - #1997-09-25T09:00:00 - #1997-09-30T09:00:00 - #1997-10-02T09:00:00)) - (vevent - summary: - "Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997:" - dtstart: - #1997-09-01T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - interval: 2 - until: #1997-12-24T00:00:00Z - wkst: sun - byday: (list mon wed fri)) - x-summary: - "varannan måndag, onsdag & fredag, till och med den 24 december, 1997 kl. 0:00" - x-set: - (list #1997-09-01T09:00:00 - #1997-09-03T09:00:00 - #1997-09-05T09:00:00 - #1997-09-15T09:00:00 - #1997-09-17T09:00:00 - #1997-09-19T09:00:00 - #1997-09-29T09:00:00 - #1997-10-01T09:00:00 - #1997-10-03T09:00:00 - #1997-10-13T09:00:00 - #1997-10-15T09:00:00 - #1997-10-17T09:00:00 - #1997-10-27T09:00:00 - #1997-10-29T09:00:00 - #1997-10-31T09:00:00 - #1997-11-10T09:00:00 - #1997-11-12T09:00:00 - #1997-11-14T09:00:00 - #1997-11-24T09:00:00 - #1997-11-26T09:00:00 - #1997-11-28T09:00:00 - #1997-12-08T09:00:00 - #1997-12-10T09:00:00 - #1997-12-12T09:00:00 - #1997-12-22T09:00:00)) - (vevent - summary: - "Every other week on Tuesday and Thursday, for 8 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - interval: 2 - count: 8 - wkst: sun - byday: (list tue thu)) - x-summary: - "varannan tisdag & torsdag, totalt 8 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-04T09:00:00 - #1997-09-16T09:00:00 - #1997-09-18T09:00:00 - #1997-09-30T09:00:00 - #1997-10-02T09:00:00 - #1997-10-14T09:00:00 - #1997-10-16T09:00:00)) - (vevent - summary: - "Monthly on the first Friday for 10 occurrences" - dtstart: - #1997-09-05T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - count: 10 - byday: (list (cons 1 fri))) - x-summary: - "första fredagen varje månad, totalt 10 gånger" - x-set: - (list #1997-09-05T09:00:00 - #1997-10-03T09:00:00 - #1997-11-07T09:00:00 - #1997-12-05T09:00:00 - #1998-01-02T09:00:00 - #1998-02-06T09:00:00 - #1998-03-06T09:00:00 - #1998-04-03T09:00:00 - #1998-05-01T09:00:00 - #1998-06-05T09:00:00)) - (vevent - summary: - "Monthly on the first Friday until December 24, 1997" - dtstart: - #1997-09-05T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - until: #1997-12-24T00:00:00Z - byday: (list (cons 1 fri))) - x-summary: - "första fredagen varje månad, till och med den 24 december, 1997 kl. 0:00" - x-set: - (list #1997-09-05T09:00:00 - #1997-10-03T09:00:00 - #1997-11-07T09:00:00 - #1997-12-05T09:00:00)) - (vevent - summary: - "Every other month on the first and last Sunday of the month for 10 occurrences" - dtstart: - #1997-09-07T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - interval: 2 - count: 10 - byday: (list (cons 1 sun) - (cons -1 sun))) - x-summary: - "första söndagen samt sista söndagen varannan månad, totalt 10 gånger" - x-set: - (list #1997-09-07T09:00:00 - #1997-09-28T09:00:00 - #1997-11-02T09:00:00 - #1997-11-30T09:00:00 - #1998-01-04T09:00:00 - #1998-01-25T09:00:00 - #1998-03-01T09:00:00 - #1998-03-29T09:00:00 - #1998-05-03T09:00:00 - #1998-05-31T09:00:00)) - (vevent - summary: - "Monthly on the second-to-last Monday of the month for 6 months" - dtstart: - #1997-09-22T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - count: 6 - byday: (list (cons -2 mon))) - x-summary: - "näst sista måndagen varje månad, totalt 6 gånger" - x-set: - (list #1997-09-22T09:00:00 - #1997-10-20T09:00:00 - #1997-11-17T09:00:00 - #1997-12-22T09:00:00 - #1998-01-19T09:00:00 - #1998-02-16T09:00:00)) - (vevent - summary: - "Monthly on the third-to-the-last day of the month, forever" - dtstart: - #1997-09-28T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - bymonthday: (list -3)) - x-summary: - "den tredje sista varje månad" - x-set: - (list #1997-09-28T09:00:00 - #1997-10-29T09:00:00 - #1997-11-28T09:00:00 - #1997-12-29T09:00:00 - #1998-01-29T09:00:00 - #1998-02-26T09:00:00 - #1998-03-29T09:00:00 - #1998-04-28T09:00:00 - #1998-05-29T09:00:00 - #1998-06-28T09:00:00 - #1998-07-29T09:00:00 - #1998-08-29T09:00:00 - #1998-09-28T09:00:00 - #1998-10-29T09:00:00 - #1998-11-28T09:00:00 - #1998-12-29T09:00:00 - #1999-01-29T09:00:00 - #1999-02-26T09:00:00 - #1999-03-29T09:00:00 - #1999-04-28T09:00:00)) - (vevent - summary: - "Monthly on the 2nd and 15th of the month for 10 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - count: 10 - bymonthday: (list 2 15)) - x-summary: - "den andre & femtonde varje månad, totalt 10 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-15T09:00:00 - #1997-10-02T09:00:00 - #1997-10-15T09:00:00 - #1997-11-02T09:00:00 - #1997-11-15T09:00:00 - #1997-12-02T09:00:00 - #1997-12-15T09:00:00 - #1998-01-02T09:00:00 - #1998-01-15T09:00:00)) - (vevent - summary: - "Monthly on the first and last day of the month for 10 occurrences" - dtstart: - #1997-09-30T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - count: 10 - bymonthday: (list 1 -1)) - x-summary: - "den förste & sista varje månad, totalt 10 gånger" - x-set: - (list #1997-09-30T09:00:00 - #1997-10-01T09:00:00 - #1997-10-31T09:00:00 - #1997-11-01T09:00:00 - #1997-11-30T09:00:00 - #1997-12-01T09:00:00 - #1997-12-31T09:00:00 - #1998-01-01T09:00:00 - #1998-01-31T09:00:00 - #1998-03-01T09:00:00)) - (vevent - summary: - "Every 18 months on the 10th thru 15th of the month for 10 occurrences" - dtstart: - #1997-09-10T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - interval: 18 - count: 10 - bymonthday: (list 10 11 12 13 14 15)) - x-summary: - "den tionde, elfte, tolfte, trettonde, fjortonde & femtonde var artonde månad, totalt 10 gånger" - x-set: - (list #1997-09-10T09:00:00 - #1997-09-11T09:00:00 - #1997-09-12T09:00:00 - #1997-09-13T09:00:00 - #1997-09-14T09:00:00 - #1997-09-15T09:00:00 - #1999-03-10T09:00:00 - #1999-03-11T09:00:00 - #1999-03-12T09:00:00 - #1999-03-13T09:00:00)) - (vevent - summary: - "Every Tuesday, every other month" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - interval: 2 - byday: (list tue)) - x-summary: - "varje tisdag varannan månad" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-09T09:00:00 - #1997-09-16T09:00:00 - #1997-09-23T09:00:00 - #1997-09-30T09:00:00 - #1997-11-04T09:00:00 - #1997-11-11T09:00:00 - #1997-11-18T09:00:00 - #1997-11-25T09:00:00 - #1998-01-06T09:00:00 - #1998-01-13T09:00:00 - #1998-01-20T09:00:00 - #1998-01-27T09:00:00 - #1998-03-03T09:00:00 - #1998-03-10T09:00:00 - #1998-03-17T09:00:00 - #1998-03-24T09:00:00 - #1998-03-31T09:00:00 - #1998-05-05T09:00:00 - #1998-05-12T09:00:00)) - (vevent - summary: - "Yearly in June and July for 10 occurrences:\n: Since none of the BYDAY, BYMONTHDAY, or BYYEARDAY\nonents are specified, the day is gotten from \"DTSTART\"" - dtstart: - #1997-06-10T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - count: 10 - bymonth: (list 6 7)) - x-summary: - "juni & juli, årligen, totalt 10 gånger" - x-set: - (list #1997-06-10T09:00:00 - #1997-07-10T09:00:00 - #1998-06-10T09:00:00 - #1998-07-10T09:00:00 - #1999-06-10T09:00:00 - #1999-07-10T09:00:00 - #2000-06-10T09:00:00 - #2000-07-10T09:00:00 - #2001-06-10T09:00:00 - #2001-07-10T09:00:00)) - (vevent - summary: - "Every other year on January, February, and March for 10 occurrences" - dtstart: - #1997-03-10T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - interval: 2 - count: 10 - bymonth: (list jan feb mar)) - x-summary: - "januari, februari & mars vartannat år, totalt 10 gånger" - x-set: - (list #1997-03-10T09:00:00 - #1999-01-10T09:00:00 - #1999-02-10T09:00:00 - #1999-03-10T09:00:00 - #2001-01-10T09:00:00 - #2001-02-10T09:00:00 - #2001-03-10T09:00:00 - #2003-01-10T09:00:00 - #2003-02-10T09:00:00 - #2003-03-10T09:00:00)) - (vevent - summary: - "Every third year on the 1st, 100th, and 200th day for 10 occurrences" - dtstart: - #1997-01-01T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - interval: 3 - count: 10 - byyearday: (list 1 100 200)) - x-summary: - "dag 1, 100 & 200 vart tredje år, totalt 10 gånger" - x-set: - (list #1997-01-01T09:00:00 - #1997-04-10T09:00:00 - #1997-07-19T09:00:00 - #2000-01-01T09:00:00 - #2000-04-09T09:00:00 - #2000-07-18T09:00:00 - #2003-01-01T09:00:00 - #2003-04-10T09:00:00 - #2003-07-19T09:00:00 - #2006-01-01T09:00:00)) - (vevent - summary: - "Every 20th Monday of the year, forever" - dtstart: - #1997-05-19T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - byday: (list (cons 20 mon))) - x-summary: - "tjugonde måndagen, årligen" - x-set: - (list #1997-05-19T09:00:00 - #1998-05-18T09:00:00 - #1999-05-17T09:00:00 - #2000-05-15T09:00:00 - #2001-05-14T09:00:00 - #2002-05-20T09:00:00 - #2003-05-19T09:00:00 - #2004-05-17T09:00:00 - #2005-05-16T09:00:00 - #2006-05-15T09:00:00 - #2007-05-14T09:00:00 - #2008-05-19T09:00:00 - #2009-05-18T09:00:00 - #2010-05-17T09:00:00 - #2011-05-16T09:00:00 - #2012-05-14T09:00:00 - #2013-05-20T09:00:00 - #2014-05-19T09:00:00 - #2015-05-18T09:00:00 - #2016-05-16T09:00:00)) - (vevent - summary: - "Monday of week number 20 (where the default start of the week is Monday), forever" - dtstart: - #1997-05-12T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - byweekno: (list 20) - byday: (list mon)) - x-summary: - "varje måndag v.20, årligen" - x-set: - (list #1997-05-12T09:00:00 - #1998-05-11T09:00:00 - #1999-05-17T09:00:00 - #2000-05-15T09:00:00 - #2001-05-14T09:00:00 - #2002-05-13T09:00:00 - #2003-05-12T09:00:00 - #2004-05-10T09:00:00 - #2005-05-16T09:00:00 - #2006-05-15T09:00:00 - #2007-05-14T09:00:00 - #2008-05-12T09:00:00 - #2009-05-11T09:00:00 - #2010-05-17T09:00:00 - #2011-05-16T09:00:00 - #2012-05-14T09:00:00 - #2013-05-13T09:00:00 - #2014-05-12T09:00:00 - #2015-05-11T09:00:00 - #2016-05-16T09:00:00)) - (vevent - summary: - "Every Thursday in March, forever" - dtstart: - #1997-03-13T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - bymonth: (list mar) - byday: (list thu)) - x-summary: - "varje torsdag i mars, årligen" - x-set: - (list #1997-03-13T09:00:00 - #1997-03-20T09:00:00 - #1997-03-27T09:00:00 - #1998-03-05T09:00:00 - #1998-03-12T09:00:00 - #1998-03-19T09:00:00 - #1998-03-26T09:00:00 - #1999-03-04T09:00:00 - #1999-03-11T09:00:00 - #1999-03-18T09:00:00 - #1999-03-25T09:00:00 - #2000-03-02T09:00:00 - #2000-03-09T09:00:00 - #2000-03-16T09:00:00 - #2000-03-23T09:00:00 - #2000-03-30T09:00:00 - #2001-03-01T09:00:00 - #2001-03-08T09:00:00 - #2001-03-15T09:00:00 - #2001-03-22T09:00:00)) - (vevent - summary: - "Every Thursday, but only during June, July, and August, forever" - dtstart: - #1997-06-05T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - byday: (list thu) - bymonth: (list 6 7 8)) - x-summary: - "varje torsdag i juni, juli & augusti, årligen" - x-set: - (list #1997-06-05T09:00:00 - #1997-06-12T09:00:00 - #1997-06-19T09:00:00 - #1997-06-26T09:00:00 - #1997-07-03T09:00:00 - #1997-07-10T09:00:00 - #1997-07-17T09:00:00 - #1997-07-24T09:00:00 - #1997-07-31T09:00:00 - #1997-08-07T09:00:00 - #1997-08-14T09:00:00 - #1997-08-21T09:00:00 - #1997-08-28T09:00:00 - #1998-06-04T09:00:00 - #1998-06-11T09:00:00 - #1998-06-18T09:00:00 - #1998-06-25T09:00:00 - #1998-07-02T09:00:00 - #1998-07-09T09:00:00 - #1998-07-16T09:00:00)) - (vevent - summary: - "Every Friday the 13th, forever" - dtstart: - #1997-09-02T09:00:00 - exdate: - (as-list - (list #1997-09-02T09:00:00)) - rrule: - (make-recur-rule - freq: 'MONTHLY - byday: (list fri) - bymonthday: (list 13)) - x-summary: - "varje fredag den trettonde varje månad" - x-set: - (list #1998-02-13T09:00:00 - #1998-03-13T09:00:00 - #1998-11-13T09:00:00 - #1999-08-13T09:00:00 - #2000-10-13T09:00:00 - #2001-04-13T09:00:00 - #2001-07-13T09:00:00 - #2002-09-13T09:00:00 - #2002-12-13T09:00:00 - #2003-06-13T09:00:00 - #2004-02-13T09:00:00 - #2004-08-13T09:00:00 - #2005-05-13T09:00:00 - #2006-01-13T09:00:00 - #2006-10-13T09:00:00 - #2007-04-13T09:00:00 - #2007-07-13T09:00:00 - #2008-06-13T09:00:00 - #2009-02-13T09:00:00 - #2009-03-13T09:00:00)) - (vevent - summary: - "The first Saturday that follows the first Sunday of the month, forever" - dtstart: - #1997-09-13T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - byday: (list sat) - bymonthday: (list 7 8 9 10 11 12 13)) - x-summary: - "varje lördag den sjunde, åttonde, nionde, tionde, elfte, tolfte & trettonde varje månad" - x-set: - (list #1997-09-13T09:00:00 - #1997-10-11T09:00:00 - #1997-11-08T09:00:00 - #1997-12-13T09:00:00 - #1998-01-10T09:00:00 - #1998-02-07T09:00:00 - #1998-03-07T09:00:00 - #1998-04-11T09:00:00 - #1998-05-09T09:00:00 - #1998-06-13T09:00:00 - #1998-07-11T09:00:00 - #1998-08-08T09:00:00 - #1998-09-12T09:00:00 - #1998-10-10T09:00:00 - #1998-11-07T09:00:00 - #1998-12-12T09:00:00 - #1999-01-09T09:00:00 - #1999-02-13T09:00:00 - #1999-03-13T09:00:00 - #1999-04-10T09:00:00)) - (vevent - summary: - "Every 4 years, the first Tuesday after a Monday in November,\nver (U.S. Presidential Election day)" - dtstart: - #1996-11-05T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - interval: 4 - bymonth: (list nov) - byday: (list tue) - bymonthday: (list 2 3 4 5 6 7 8)) - x-summary: - "varje tisdag den andre, tredje, fjärde, femte, sjätte, sjunde eller åttonde i november vart fjärde år" - x-set: - (list #1996-11-05T09:00:00 - #2000-11-07T09:00:00 - #2004-11-02T09:00:00 - #2008-11-04T09:00:00 - #2012-11-06T09:00:00 - #2016-11-08T09:00:00 - #2020-11-03T09:00:00 - #2024-11-05T09:00:00 - #2028-11-07T09:00:00 - #2032-11-02T09:00:00 - #2036-11-04T09:00:00 - #2040-11-06T09:00:00 - #2044-11-08T09:00:00 - #2048-11-03T09:00:00 - #2052-11-05T09:00:00 - #2056-11-07T09:00:00 - #2060-11-02T09:00:00 - #2064-11-04T09:00:00 - #2068-11-06T09:00:00 - #2072-11-08T09:00:00)) - (vevent - summary: - "The third instance into the month of one of Tuesday, Wednesday, or Thursday, for the next 3 months" - dtstart: - #1997-09-04T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - count: 3 - byday: (list tue wed thu) - bysetpos: (list 3)) - x-summary: - "NOT YET IMPLEMENTED" - x-set: - (list #1997-09-04T09:00:00 - #1997-10-07T09:00:00 - #1997-11-06T09:00:00)) - (vevent - summary: - "The second-to-last weekday of the month" - dtstart: - #1997-09-29T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - byday: (list mon tue wed thu fri) - bysetpos: (list -2)) - x-summary: - "NOT YET IMPLEMENTED" - x-set: - (list #1997-09-29T09:00:00 - #1997-10-30T09:00:00 - #1997-11-27T09:00:00 - #1997-12-30T09:00:00 - #1998-01-29T09:00:00)) - (vevent - summary: - "Every 3 hours from 9:00 AM to 5:00 PM on a specific day" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'HOURLY - interval: 3 - until: #1997-09-02T17:00:00Z) - x-summary: - "var tredje timme, till och med den 02 september, 1997 kl. 17:00" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-02T12:00:00 - #1997-09-02T15:00:00)) - (vevent - summary: - "Every 15 minutes for 6 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'MINUTELY - interval: 15 - count: 6) - x-summary: - "varje kvart, totalt 6 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-02T09:15:00 - #1997-09-02T09:30:00 - #1997-09-02T09:45:00 - #1997-09-02T10:00:00 - #1997-09-02T10:15:00)) - (vevent - summary: - "Every hour and a half for 4 occurrences" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'MINUTELY - interval: 90 - count: 4) - x-summary: - "var sjätte kvart, totalt 4 gånger" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-02T10:30:00 - #1997-09-02T12:00:00 - #1997-09-02T13:30:00)) - (vevent - summary: - "Every 20 minutes from 9:00 AM to 4:40 PM every day (alt 1)" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'DAILY - byhour: (list 9 10 11 12 13 14 15 16) - byminute: (list 0 20 40)) - x-summary: - "dagligen kl. 09:00, 09:20, 09:40, 10:00, 10:20, 10:40, 11:00, 11:20, 11:40, 12:00, 12:20, 12:40, 13:00, 13:20, 13:40, 14:00, 14:20, 14:40, 15:00, 15:20, 15:40, 16:00, 16:20 & 16:40" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-02T09:20:00 - #1997-09-02T09:40:00 - #1997-09-02T10:00:00 - #1997-09-02T10:20:00 - #1997-09-02T10:40:00 - #1997-09-02T11:00:00 - #1997-09-02T11:20:00 - #1997-09-02T11:40:00 - #1997-09-02T12:00:00 - #1997-09-02T12:20:00 - #1997-09-02T12:40:00 - #1997-09-02T13:00:00 - #1997-09-02T13:20:00 - #1997-09-02T13:40:00 - #1997-09-02T14:00:00 - #1997-09-02T14:20:00 - #1997-09-02T14:40:00 - #1997-09-02T15:00:00 - #1997-09-02T15:20:00)) - (vevent - summary: - "Every 20 minutes from 9:00 AM to 4:40 PM every day (alt 2)" - dtstart: - #1997-09-02T09:00:00 - rrule: - (make-recur-rule - freq: 'MINUTELY - interval: 20 - byhour: (list 9 10 11 12 13 14 15 16)) - x-summary: - "var tjugonde minut kl. 9, 10, 11, 12, 13, 14, 15 & 16" - x-set: - (list #1997-09-02T09:00:00 - #1997-09-02T09:20:00 - #1997-09-02T09:40:00 - #1997-09-02T10:00:00 - #1997-09-02T10:20:00 - #1997-09-02T10:40:00 - #1997-09-02T11:00:00 - #1997-09-02T11:20:00 - #1997-09-02T11:40:00 - #1997-09-02T12:00:00 - #1997-09-02T12:20:00 - #1997-09-02T12:40:00 - #1997-09-02T13:00:00 - #1997-09-02T13:20:00 - #1997-09-02T13:40:00 - #1997-09-02T14:00:00 - #1997-09-02T14:20:00 - #1997-09-02T14:40:00 - #1997-09-02T15:00:00 - #1997-09-02T15:20:00)) - (vevent - summary: - "An example where the days generated makes a difference because of WKST" - dtstart: - #1997-08-05T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - interval: 2 - count: 4 - byday: (list tue sun) - wkst: mon) - x-summary: - "varannan tisdag & söndag, totalt 4 gånger" - x-set: - (list #1997-08-05T09:00:00 - #1997-08-10T09:00:00 - #1997-08-19T09:00:00 - #1997-08-24T09:00:00)) - (vevent - summary: - "changing only WKST from MO to SU, yields different results.." - dtstart: - #1997-08-05T09:00:00 - rrule: - (make-recur-rule - freq: 'WEEKLY - interval: 2 - count: 4 - byday: (list tue sun) - wkst: sun) - x-summary: - "varannan tisdag & söndag, totalt 4 gånger" - x-set: - (list #1997-08-05T09:00:00 - #1997-08-17T09:00:00 - #1997-08-19T09:00:00 - #1997-08-31T09:00:00)) - (vevent - summary: - "An example where an invalid date (i.e., February 30) is ignored" - dtstart: - #2007-01-15T09:00:00 - rrule: - (make-recur-rule - freq: 'MONTHLY - bymonthday: (list 15 30) - count: 5) - x-summary: - "den femtonde & tretionde varje månad, totalt 5 gånger" - x-set: - (list #2007-01-15T09:00:00 - #2007-01-30T09:00:00 - #2007-02-15T09:00:00 - #2007-03-15T09:00:00 - #2007-03-30T09:00:00)) - (vevent - summary: - "Every Friday & Wednesday the 13th, forever" - dtstart: - #1997-09-02T09:00:00 - exdate: - (as-list - (list #1997-09-02T09:00:00)) - rrule: - (make-recur-rule - freq: 'MONTHLY - byday: (list fri wed) - bymonthday: (list 13)) - x-summary: - "varje onsdag & fredag den trettonde varje månad" - x-set: - (list #1998-02-13T09:00:00 - #1998-03-13T09:00:00 - #1998-05-13T09:00:00 - #1998-11-13T09:00:00 - #1999-01-13T09:00:00 - #1999-08-13T09:00:00 - #1999-10-13T09:00:00 - #2000-09-13T09:00:00 - #2000-10-13T09:00:00 - #2000-12-13T09:00:00 - #2001-04-13T09:00:00 - #2001-06-13T09:00:00 - #2001-07-13T09:00:00 - #2002-02-13T09:00:00 - #2002-03-13T09:00:00 - #2002-09-13T09:00:00 - #2002-11-13T09:00:00 - #2002-12-13T09:00:00 - #2003-06-13T09:00:00 - #2003-08-13T09:00:00)) - (vevent - summary: - "Monday & Wednesday of week number 20 (where the default start of the week is Monday), forever" - dtstart: - #1997-05-12T09:00:00 - rrule: - (make-recur-rule - freq: 'YEARLY - byweekno: (list 20) - byday: (list mon wed)) - x-summary: - "varje onsdag & måndag v.20, årligen" - x-set: - (list #1997-05-12T09:00:00 - #1997-05-14T09:00:00 - #1998-05-11T09:00:00 - #1998-05-13T09:00:00 - #1999-05-17T09:00:00 - #1999-05-19T09:00:00 - #2000-05-15T09:00:00 - #2000-05-17T09:00:00 - #2001-05-14T09:00:00 - #2001-05-16T09:00:00 - #2002-05-13T09:00:00 - #2002-05-15T09:00:00 - #2003-05-12T09:00:00 - #2003-05-14T09:00:00 - #2004-05-10T09:00:00 - #2004-05-12T09:00:00 - #2005-05-16T09:00:00 - #2005-05-18T09:00:00 - #2006-05-15T09:00:00 - #2006-05-17T09:00:00)) - (vevent - summary: "Each second, for ever" - dtstart: #2020-10-10T10:00:00 - rrule: (make-recur-rule freq: 'SECONDLY) - x-summary: "varje sekund" - x-set: (list #2020-10-10T10:00:00 - #2020-10-10T10:00:01 - #2020-10-10T10:00:02 - #2020-10-10T10:00:03 - #2020-10-10T10:00:04 - #2020-10-10T10:00:05 - #2020-10-10T10:00:06 - #2020-10-10T10:00:07 - #2020-10-10T10:00:08 - #2020-10-10T10:00:09 - #2020-10-10T10:00:10 - #2020-10-10T10:00:11 - #2020-10-10T10:00:12 - #2020-10-10T10:00:13 - #2020-10-10T10:00:14 - #2020-10-10T10:00:15 - #2020-10-10T10:00:16 - #2020-10-10T10:00:17 - #2020-10-10T10:00:18 - #2020-10-10T10:00:19)) - ;; Exdates are applied after rrule's, meaning that less than count - ;; instances may be present. - (vevent - summary: "Exdates are applied AFTER rrule's" - dtstart: #2022-06-10T10:00:00 - rrule: (make-recur-rule freq: 'DAILY count: 5) - exdate: (as-list (list #2022-06-12T10:00:00)) - x-summary: "dagligen, totalt 5 gånger" - x-set: (list #2022-06-10T10:00:00 - #2022-06-11T10:00:00 - ;; #2022-06-12T10:00:00 ; skipped by exdate - #2022-06-13T10:00:00 - #2022-06-14T10:00:00 - )) - (vevent - summary: "RDATE:s add to the recurrence rule" - dtstart: #2022-06-10T10:00:00 - rrule: (make-recur-rule freq: 'DAILY count: 5) - rdate: (as-list (list #2022-06-20T10:00:00)) - x-summary: "dagligen, totalt 5 gånger" - x-set: (list #2022-06-10T10:00:00 - #2022-06-11T10:00:00 - #2022-06-12T10:00:00 - #2022-06-13T10:00:00 - #2022-06-14T10:00:00 - #2022-06-20T10:00:00 ; added by rdate - ) - ) - (vevent - summary: "RDATE:s add to the recurrence rule" - dtstart: #2022-06-10T10:00:00 - rrule: (make-recur-rule freq: 'DAILY count: 5) - exdate: (as-list (list #2022-06-20T10:00:00)) - rdate: (as-list (list #2022-06-20T10:00:00)) - x-summary: "dagligen, totalt 5 gånger" - x-set: (list #2022-06-10T10:00:00 - #2022-06-11T10:00:00 - #2022-06-12T10:00:00 - #2022-06-13T10:00:00 - #2022-06-14T10:00:00 - ;; #2022-06-20T10:00:00 ; added by rdate, removed by exdate - )) - ;; TODO rdate with different timezone than dtstart - ;; TODO rdate with period - )) - - -- cgit v1.2.3