aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-10-24 19:42:34 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-10-24 19:42:34 +0200
commit70aaf3e98ef07e2e5884701303e6986fb4fe0be1 (patch)
tree033894586723d271fa55ad59f2c85d295ec14000
parentRepair webdav-propfind tests. (diff)
downloadcalp-70aaf3e98ef07e2e5884701303e6986fb4fe0be1.tar.gz
calp-70aaf3e98ef07e2e5884701303e6986fb4fe0be1.tar.xz
Add tests for encode-query-parameters.
-rw-r--r--tests/unit/web-util/web-query.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/unit/web-util/web-query.scm b/tests/unit/web-util/web-query.scm
index ec20b0c1..c82259bc 100644
--- a/tests/unit/web-util/web-query.scm
+++ b/tests/unit/web-util/web-query.scm
@@ -1,7 +1,7 @@
(define-module (test web-query)
:use-module (srfi srfi-64)
:use-module (srfi srfi-88)
- :use-module ((web query) :select (parse-query)))
+ :use-module ((web query) :select (parse-query encode-query-parameters)))
(test-equal "Empty query gives empty assoc list"
'() (parse-query ""))
@@ -34,4 +34,14 @@
'(key: "=") (parse-query "key=="))
+(test-group "encode-query-parameters"
+ (test-equal "Null case" "" (encode-query-parameters '()))
+ (test-equal "Single simple" "a=10" (encode-query-parameters '((a . 10))))
+ (test-equal "Multi simple" "a=10&b=20" (encode-query-parameters '((a . 10) (b . 20))))
+ (test-equal "Strings are `write' encoded" "a=%22Hello%22" (encode-query-parameters '((a . "Hello"))))
+ (test-equal "Strings are URI encoded" "a=%22Hello%20World%22" (encode-query-parameters '((a . "Hello World"))))
+ (test-equal "Symbols are `write' and URI encoded"
+ "a=%23%7BHello%20World%7D%23" (encode-query-parameters `((a . ,(string->symbol "Hello World"))))))
+
+
'((web query))