aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-12-21 16:17:28 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-12-22 22:58:30 +0100
commitd00fea566004e67161ee45246b239fff5d416b0e (patch)
tree5641c0c0d0e78b046b6045ed2440512f12259560 /tests
parentComplete rewrite of use2dot (diff)
downloadcalp-d00fea566004e67161ee45246b239fff5d416b0e.tar.gz
calp-d00fea566004e67161ee45246b239fff5d416b0e.tar.xz
Cleanup modules.
Primarly this moves all vcompenent input and output code to clearly labeled modules, instead of being spread out. At the same time it also removes a handfull of unused procedures.
Diffstat (limited to 'tests')
-rw-r--r--tests/datetime.scm2
-rw-r--r--tests/param.scm2
-rw-r--r--tests/recurrence-simple.scm6
-rwxr-xr-xtests/run-tests.scm3
-rw-r--r--tests/vcomponent-control.scm4
-rw-r--r--tests/vcomponent-datetime.scm2
-rw-r--r--tests/vcomponent-formats-common-types.scm115
-rw-r--r--tests/vcomponent.scm2
-rw-r--r--tests/xcal.scm6
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)