aboutsummaryrefslogtreecommitdiff
path: root/tests/test/webdav-util.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test/webdav-util.scm')
-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") '())))