blob: 331343c680e7fb05c990852b18b97e99f4a3c77f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
(use-modules (srfi srfi-1)
(srfi srfi-19)
(srfi srfi-19 util)
(srfi srfi-41)
(util)
(vcomponent)
(vcomponent output)
(vcomponent recurrence))
(define (display-timespan ev)
(format #t "~a -- ~a~%"
(time->string (attr ev "DTSTART"))
(time->string (attr ev "DTEND"))))
(define (tcal str)
(format #f "~a/recurrence/~a"
(getenv "TESTPATH")
str))
(define cal-1 (make-vcomponent (tcal "simple-daily.ics")))
(let ((ev (car (children cal-1 'VEVENT))))
(format #t "~a~%" (attr ev 'RRULE))
(test-equal "Generate First"
(map (extract 'DTSTART)
(stream->list (stream-take 5 (generate-recurrence-set ev))))
(let* ((s0 (attr ev 'DTSTART))
(s1 (add-day s0))
(s2 (add-day s1))
(s3 (add-day s2))
(s4 (add-day s3)))
(list s0 s1 s2 s3 s4)))
;; We run the exact same thing a secound time, since I had an error with
;; that during development.
(test-equal "Generate Again"
(map (extract 'DTSTART)
(stream->list (stream-take 5 (generate-recurrence-set ev))))
(let* ((s0 (attr ev 'DTSTART))
(s1 (add-day s0))
(s2 (add-day s1))
(s3 (add-day s2))
(s4 (add-day s3)))
(list s0 s1 s2 s3 s4))) )
|