aboutsummaryrefslogtreecommitdiff
path: root/tests/formats/xcal.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-04-18 19:30:51 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-04-21 15:58:41 +0200
commit8eab5b0063137f8008562c5069a9f14ed34355b9 (patch)
treee823d6b91656aff69e299130cd8608a9c7740cfb /tests/formats/xcal.scm
parentAdd xmllint shell-out for normalizing xml trees. (diff)
downloadcalp-8eab5b0063137f8008562c5069a9f14ed34355b9.tar.gz
calp-8eab5b0063137f8008562c5069a9f14ed34355b9.tar.xz
Add tests for serialization foramts.
These are outside the regular unit testing, since they are more of end to end tests. Parts of this functionality is however still in the unit tests.
Diffstat (limited to 'tests/formats/xcal.scm')
-rw-r--r--tests/formats/xcal.scm26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/formats/xcal.scm b/tests/formats/xcal.scm
new file mode 100644
index 00000000..4c27931a
--- /dev/null
+++ b/tests/formats/xcal.scm
@@ -0,0 +1,26 @@
+(define-module (xcal)
+ :use-module (srfi srfi-88)
+ :use-module (hnh test xmllint)
+ :use-module (hnh util path)
+ :use-module ((rnrs io ports) :select (get-string-all))
+ :use-module ((vcomponent formats xcal) :prefix #{xcs:}#)
+ :use-module ((calp namespaces) :select (xcal))
+ :export (sanitize-string
+ serialize
+ deserialize
+ component-str))
+
+(define (sanitize-string str)
+ (xmllint str))
+
+(define serialize
+ (lambda (component port)
+ (xcs:serialize
+ component port namespaces: `((,xcal . c))
+ )))
+
+(define deserialize xcs:deserialize)
+
+(define component-str
+ (call-with-input-file (path-append (getenv "here") "event.xcs")
+ get-string-all))