aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-04-19 22:06:07 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-04-21 15:58:41 +0200
commita3eb2af6bdea9f23407c1a115e0f0ccdf659cebe (patch)
treef5536b914265c7a9a6e849ecaf94a6b7bfbc8c21
parentAdd href-relative. (diff)
downloadcalp-datarewrite.tar.gz
calp-datarewrite.tar.xz
Add tests for href stuff.datarewrite
-rw-r--r--tests/test/webdav-util.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/test/webdav-util.scm b/tests/test/webdav-util.scm
new file mode 100644
index 00000000..5c89cf6c
--- /dev/null
+++ b/tests/test/webdav-util.scm
@@ -0,0 +1,29 @@
+(define-module (test webdav-util)
+ :use-module (srfi srfi-64)
+ :use-module (srfi srfi-64 test-error)
+ :use-module (srfi srfi-71)
+ :use-module (srfi srfi-88)
+ :use-module (calp webdav resource base))
+
+(test-group "string->href"
+ (test-equal "Root path becomes null"
+ '() (string->href "/"))
+ (test-equal "Trailing slashes are ignored"
+ '("a" "b") (string->href "/a/b/")))
+
+(test-group "href->string"
+ (test-equal "Null case becomes root path"
+ "/" (href->string '()))
+ (test-equal "Trailing slashes are not added"
+ "/a/b" (href->string '("a" "b"))))
+
+(test-group "href-relative"
+ (test-equal '("a" "b") (href-relative '() '("a" "b")))
+ (test-equal '("b") (href-relative '("a") '("a" "b")))
+ (test-equal '() (href-relative '("a" "b") '("a" "b")))
+
+ (test-error 'misc-error
+ (href-relative '("c") '("a" "b")))
+
+ (test-error 'misc-error
+ (href-relative '("c") '())))