aboutsummaryrefslogtreecommitdiff
path: root/tests/rrule-parse.scm
blob: f1d02d27cf55ad3e2e350f47e656fd3ba0460802 (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
(((vcomponent recurrence parse)
  parse-recurrence-rule)
 ((vcomponent recurrence) make-recur-rule)
 ((datetime) mon)
 ((util exceptions) warnings-are-errors warning-handler)
 )

(test-equal (make-recur-rule freq: 'HOURLY wkst: mon interval: 1)
  (parse-recurrence-rule "FREQ=HOURLY"))

(test-equal (make-recur-rule freq: 'HOURLY count: 3 interval: 1 wkst: mon)
    (parse-recurrence-rule "FREQ=HOURLY;COUNT=3"))

(parameterize ((warnings-are-errors #t)
               (warning-handler identity))  ; silence warnings
  (test-error "Invalid FREQ" 'warning
              (parse-recurrence-rule "FREQ=ERR;COUNT=3"))

  (test-error "Negative COUNT" 'warning
              (parse-recurrence-rule "FREQ=HOURLY;COUNT=-1"))

  (test-error "Invalid COUNT"
              'wrong-type-argument
              (parse-recurrence-rule "FREQ=HOURLY;COUNT=err")) )