From 8e93d53e6665e6ad782f94911032f043f9377ca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 6 Dec 2021 03:55:47 +0100 Subject: Update xcal rrule parser to do as expected. --- tests/recurrence-simple.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/recurrence-simple.scm b/tests/recurrence-simple.scm index 166fa349..bbe6dd9d 100644 --- a/tests/recurrence-simple.scm +++ b/tests/recurrence-simple.scm @@ -9,7 +9,7 @@ ((vcomponent base) extract prop) ((calp util exceptions) warnings-are-errors warning-handler) - ((guile) format) + ((guile) format @@) ((vcomponent) parse-calendar) ((vcomponent xcal parse) sxcal->vcomponent) @@ -242,6 +242,13 @@ END:VCALENDAR" ;;; Earlier I failed to actually parse the recurrence parts, in short, 1 ≠ "1". +(test-assert "Test that xcal recur rules are parseable" + ((@@ (vcomponent xcal parse) handle-value) + 'recur 'props-are-unused-for-recur + '((freq "WEEKLY") + (interval "1") + (wkst "MO")))) + (define ev (sxcal->vcomponent '(vevent @@ -260,3 +267,21 @@ END:VCALENDAR" (test-assert "Check that recurrence rule commint from xcal also works" (generate-recurrence-set ev)) + +;;; TODO test here, for byday parsing, and multiple byday instances in one recur element +;;; TODO which should also test serializing and deserializing to xcal. +;;; For example, the following rules specify every workday + +;; BEGIN:VCALENDAR +;; PRODID:-//hugo//calp 0.6.1//EN +;; VERSION:2.0 +;; CALSCALE:GREGORIAN +;; BEGIN:VEVENT +;; SUMMARY:Lunch +;; DTSTART:20211129T133000 +;; DTEND:20211129T150000 +;; LAST-MODIFIED:20211204T220944Z +;; UID:3d82c73c-6cdb-4799-beba-5f1d20d55347 +;; RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR +;; END:VEVENT +;; END:VCALENDAR -- cgit v1.2.3