From c46d3b74baf50b23a69683c996d810e1d7639eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 30 Jul 2020 20:32:41 +0200 Subject: Resolve TODO's in test dir. --- tests/datetime.scm | 7 ++++--- tests/param.scm | 17 +++++++++++++++++ tests/prop.scm | 19 ------------------- tests/recurrence-rule.scm | 15 --------------- tests/recurring.scm | 5 +---- tests/rrule-parse.scm | 13 ------------- tests/run-tests.scm | 2 +- 7 files changed, 23 insertions(+), 55 deletions(-) create mode 100644 tests/param.scm delete mode 100644 tests/prop.scm delete mode 100644 tests/recurrence-rule.scm diff --git a/tests/datetime.scm b/tests/datetime.scm index ee25ca9d..0cbb130d 100644 --- a/tests/datetime.scm +++ b/tests/datetime.scm @@ -120,11 +120,12 @@ ;; #2018-01-17T08:00:00))) -;; TODO +;; NOTE ;; at the time of writing this returns #2020-02-00 ;; The general question is, how is the last in a month handled? -;; (test-equal -;; (date+ #2019-12-31 (date month: 1))) +(test-equal + #2020-01-31 + (date+ #2019-12-31 (date month: 1))) (test-assert (leap-year? 2020)) diff --git a/tests/param.scm b/tests/param.scm new file mode 100644 index 00000000..ad690e61 --- /dev/null +++ b/tests/param.scm @@ -0,0 +1,17 @@ +(((vcomponent base) param prop* parameters) + ((vcomponent parse) parse-calendar) + ((util) sort*)) + +(define v (call-with-input-string + "BEGIN:DUMMY +KEY;A=1;B=2:Some text +END:DUMMY" + parse-calendar)) + +(test-equal '("1") (param (prop* v 'KEY) 'A)) +(test-equal '("2") (param (prop* v 'KEY) 'B)) +(test-equal #f (param (prop* v 'KEY) 'C)) + +(test-equal '(A B) (sort* (map car (parameters (prop* v 'KEY))) + stringstring)) diff --git a/tests/prop.scm b/tests/prop.scm deleted file mode 100644 index cec0a8e2..00000000 --- a/tests/prop.scm +++ /dev/null @@ -1,19 +0,0 @@ -;;; TODO rename this file to param.scm - -(((vcomponent base) param prop* parameters) - ((vcomponent parse) parse-calendar) - ((util) sort*)) - -(define v (call-with-input-string - "BEGIN:DUMMY -KEY;A=1;B=2:Some text -END:DUMMY" - parse-calendar)) - -(test-equal '("1") (param (prop* v 'KEY) 'A)) -(test-equal '("2") (param (prop* v 'KEY) 'B)) -(test-equal #f (param (prop* v 'KEY) 'C)) - -(test-equal '(A B) (sort* (map car (parameters (prop* v 'KEY))) - stringstring)) diff --git a/tests/recurrence-rule.scm b/tests/recurrence-rule.scm deleted file mode 100644 index 58daaa9b..00000000 --- a/tests/recurrence-rule.scm +++ /dev/null @@ -1,15 +0,0 @@ -(((vcomponent recurrence parse) parse-recurrence-rule) - ((vcomponent recurrence internal) - make-recur-rule weekdays intervals) - ((datetime) mon)) - - -(test-equal - (make-recur-rule freq: 'DAILY wkst: mon interval: 1) - (parse-recurrence-rule "FREQ=DAILY")) - -(test-equal - (make-recur-rule freq: 'WEEKLY wkst: mon interval: 1) - (parse-recurrence-rule "FREQ=WEEKLY")) - -;; TODO more tests diff --git a/tests/recurring.scm b/tests/recurring.scm index a6b60dc7..a3f98027 100644 --- a/tests/recurring.scm +++ b/tests/recurring.scm @@ -6,6 +6,7 @@ ((vcomponent recurrence) generate-recurrence-set)) ;;; Test that basic recurrence works +;;; also see the neighbour test file recurrence.scm for more tests. (define ev (call-with-input-string @@ -78,10 +79,6 @@ END:VEVENT" (test-assert "weekly 10-12" (stream-car (generate-recurrence-set ev))) -;;; TODO, also test: -;;; - limited repetition -;;; - weird rules - (define ev (call-with-input-string "BEGIN:VEVENT diff --git a/tests/rrule-parse.scm b/tests/rrule-parse.scm index c10266aa..f1d02d27 100644 --- a/tests/rrule-parse.scm +++ b/tests/rrule-parse.scm @@ -11,8 +11,6 @@ (test-equal (make-recur-rule freq: 'HOURLY count: 3 interval: 1 wkst: mon) (parse-recurrence-rule "FREQ=HOURLY;COUNT=3")) -;;; TODO write tests for these cases - (parameterize ((warnings-are-errors #t) (warning-handler identity)) ; silence warnings (test-error "Invalid FREQ" 'warning @@ -24,14 +22,3 @@ (test-error "Invalid COUNT" 'wrong-type-argument (parse-recurrence-rule "FREQ=HOURLY;COUNT=err")) ) - ; TODO this error seems to have an error -;; => #< freq: #< freq: #f until: #f count: #f interval: 1 bysecond: #f byminute: #f byhour: #f byday: #f bymonthday: #f byyearday: #f byweekno: #f bymonth: #f bysetpos: #f wkst: MO> until: #f count: 3 interval: 1 bysecond: #f byminute: #f byhour: #f byday: #f bymonthday: #f byyearday: #f byweekno: #f bymonth: #f bysetpos: #f wkst: MO> -;; ERR unfulfilled-constraint [ERR] doesn't fulfill constraint of type [FREQ], ignoring - -;; => #< freq: HOURLY until: #f count: #f interval: 1 -;; bysecond: #f byminute: #f byhour: #f byday: #f bymonthday: #f -;; byyearday: #f byweekno: #f bymonth: #f bysetpos: #f wkst: MO> -;; ERR invalid-value [#f] for key [COUNT], ignoring. - -;; => #< freq: HOURLY until: #f count: #< freq: HOURLY until: #f count: #f interval: 1 bysecond: #f byminute: #f byhour: #f byday: #f bymonthday: #f byyearday: #f byweekno: #f bymonth: #f bysetpos: #f wkst: MO> interval: 1 bysecond: #f byminute: #f byhour: #f byday: #f bymonthday: #f byyearday: #f byweekno: #f bymonth: #f bysetpos: #f wkst: MO> -;; ERR unfulfilled-constraint [-1] doesn't fulfill constraint of type [COUNT], ignoring diff --git a/tests/run-tests.scm b/tests/run-tests.scm index d2b86828..7eb0bb73 100755 --- a/tests/run-tests.scm +++ b/tests/run-tests.scm @@ -56,7 +56,7 @@ (for skip in to-skip (test-skip skip))) -;; TODO test-group fails if called before any test begin, since +;; NOTE test-group fails if called before any test begin, since ;; (test-runner-current) needs to be a test-runner (dead or not), ;; but is initially bound to #f. (test-begin "tests") -- cgit v1.2.3