diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/datetime.scm | 2 | ||||
-rw-r--r-- | tests/param.scm | 2 | ||||
-rw-r--r-- | tests/recurrence-simple.scm | 6 | ||||
-rwxr-xr-x | tests/run-tests.scm | 3 | ||||
-rw-r--r-- | tests/vcomponent-control.scm | 4 | ||||
-rw-r--r-- | tests/vcomponent-datetime.scm | 2 | ||||
-rw-r--r-- | tests/vcomponent-formats-common-types.scm | 115 | ||||
-rw-r--r-- | tests/vcomponent.scm | 2 | ||||
-rw-r--r-- | tests/xcal.scm | 6 |
9 files changed, 130 insertions, 12 deletions
diff --git a/tests/datetime.scm b/tests/datetime.scm index 5bf2df6d..1eb3fb3b 100644 --- a/tests/datetime.scm +++ b/tests/datetime.scm @@ -149,3 +149,5 @@ #2020-02-29 (date+ #2020-02-28 (date day: 1))) + +;; TODO string->date family diff --git a/tests/param.scm b/tests/param.scm index a60e8d47..c5a23cbe 100644 --- a/tests/param.scm +++ b/tests/param.scm @@ -4,7 +4,7 @@ ;;; Code: (((vcomponent base) param prop* parameters prop) - ((vcomponent parse) parse-calendar) + ((vcomponent formats ical parse) parse-calendar) ((vcomponent) make-vcomponent) ((calp util) sort* set!)) diff --git a/tests/recurrence-simple.scm b/tests/recurrence-simple.scm index bbe6dd9d..cd170976 100644 --- a/tests/recurrence-simple.scm +++ b/tests/recurrence-simple.scm @@ -11,8 +11,8 @@ ((calp util exceptions) warnings-are-errors warning-handler) ((guile) format @@) - ((vcomponent) parse-calendar) - ((vcomponent xcal parse) sxcal->vcomponent) + ((vcomponent formats ical parse) parse-calendar) + ((vcomponent formats xcal parse) sxcal->vcomponent) ((vcomponent recurrence) parse-recurrence-rule make-recur-rule @@ -243,7 +243,7 @@ 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) + ((@@ (vcomponent formats xcal parse) handle-value) 'recur 'props-are-unused-for-recur '((freq "WEEKLY") (interval "1") diff --git a/tests/run-tests.scm b/tests/run-tests.scm index 4f871299..6ec8dea7 100755 --- a/tests/run-tests.scm +++ b/tests/run-tests.scm @@ -115,7 +115,8 @@ (append modules '(((srfi srfi-64) test-assert test-equal test-error - test-eqv) + test-eqv test-eq + test-approximate) ((ice-9 ports) call-with-input-string) ((guile) make-struct/no-tail) ) diff --git a/tests/vcomponent-control.scm b/tests/vcomponent-control.scm index a1300a8c..1f4d6801 100644 --- a/tests/vcomponent-control.scm +++ b/tests/vcomponent-control.scm @@ -2,8 +2,8 @@ ;; Tests that with-replaced-properties work. ;;; Code: -(((vcomponent control) with-replaced-properties) - ((vcomponent) parse-calendar) +(((vcomponent util control) with-replaced-properties) + ((vcomponent formats ical parse) parse-calendar) ((vcomponent base) prop)) diff --git a/tests/vcomponent-datetime.scm b/tests/vcomponent-datetime.scm index 0bc584f6..0f410979 100644 --- a/tests/vcomponent-datetime.scm +++ b/tests/vcomponent-datetime.scm @@ -8,7 +8,7 @@ datetime) ((vcomponent datetime) event-length/clamped) - ((vcomponent) parse-calendar) + ((vcomponent formats ical parse) parse-calendar) ) (define ev (call-with-input-string diff --git a/tests/vcomponent-formats-common-types.scm b/tests/vcomponent-formats-common-types.scm new file mode 100644 index 00000000..d9c80ff9 --- /dev/null +++ b/tests/vcomponent-formats-common-types.scm @@ -0,0 +1,115 @@ +(((vcomponent formats common types) + get-parser) + ((datetime) date time datetime)) + + + +(define parse-binary (get-parser 'BINARY)) +;; TODO + + + +(define parse-boolean (get-parser 'BOOLEAN)) + +(test-equal #t (parse-boolean #f "TRUE")) +(test-equal #f (parse-boolean #f "FALSE")) + +(test-error 'warning (parse-boolean #f "ANYTHING ELSE")) + + + +(define parse-cal-address (get-parser 'CAL-ADDRESS)) + +(test-equal "Test uri is passthrough" 74 (parse-cal-address #f 74)) + + + +(define parse-date (get-parser 'DATE)) + +(test-equal #2021-12-02 (parse-date #f "20211202")) +;; TODO negative test here + + + +(define parse-datetime (get-parser 'DATE-TIME)) + +(test-equal #2021-12-02T10:20:30 + (parse-datetime (make-hash-table) "20211202T102030")) + +;; TODO tests with timezones here +;; TODO test -X-HNH-ORIGINAL here + +;; TODO negative test here + + + +(define parse-duration (get-parser 'DURATION)) + +;; assume someone else tests this one +;; (test-eq (@ (vcomponent duration) parse-duration) +;; parse-duration) + + + +(define parse-float (get-parser 'FLOAT)) + +(test-equal 1.0 (parse-float #f "1.0")) +(test-equal 1 (parse-float #f "1")) +(test-equal 1/2 (parse-float #f "1/2")) + +;; TODO negative test here? + + + +(define parse-integer (get-parser 'INTEGER)) + +(test-equal "parse integer" 123456 (parse-integer #f "123456")) +(test-equal "parse bigint" 123451234512345123456666123456 + (parse-integer #f "123451234512345123456666123456")) + +;; TODO is this expected behaivour? +(test-error 'warning (parse-integer #f "failure")) + +(test-error + "Non-integers aren't integers" + 'warning (parse-integer #f "1.1")) + +(test-equal "But exact floats are" + 1.0 (parse-integer #f "1.0")) + + + +(define parse-period (get-parser 'PERIOD)) + +;; TODO + + + +(define parse-recur (get-parser 'RECUR)) + +;; (test-eq (@ (vcomponent recurrence parse) parse-recurrence-rule)) + + + +(define parse-text (get-parser 'TEXT)) + +;; TODO + + + +(define parse-time (get-parser 'TIME)) + +(test-equal #10:20:30 (parse-time #f "102030")) +;; TODO negative test here + + + +(define parse-uri (get-parser 'URI)) + +(test-equal "Test uri is passthrough" 74 (parse-uri #f 74)) + + + +(define parse-utc-offset (get-parser 'UTC-OFFSET)) + +;; TODO diff --git a/tests/vcomponent.scm b/tests/vcomponent.scm index 28f1cf91..acdb970b 100644 --- a/tests/vcomponent.scm +++ b/tests/vcomponent.scm @@ -3,7 +3,7 @@ ;;; Code: (((vcomponent base) prop) - ((vcomponent) parse-calendar)) + ((vcomponent formats ical parse) parse-calendar)) (define ev (call-with-input-string "BEGIN:DUMMY diff --git a/tests/xcal.scm b/tests/xcal.scm index babb2218..df8a5135 100644 --- a/tests/xcal.scm +++ b/tests/xcal.scm @@ -3,9 +3,9 @@ ;; Currently only checks that events survive a round trip. ;;; Code: -(((vcomponent xcal parse) sxcal->vcomponent) - ((vcomponent xcal output) vcomponent->sxcal) - ((vcomponent ical parse) parse-calendar) +(((vcomponent formats xcal parse) sxcal->vcomponent) + ((vcomponent formats xcal output) vcomponent->sxcal) + ((vcomponent formats ical parse) parse-calendar) ((calp util) ->) ((vcomponent base) parameters prop* children) |