From 70aaf3e98ef07e2e5884701303e6986fb4fe0be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 24 Oct 2023 19:42:34 +0200 Subject: Add tests for encode-query-parameters. --- tests/unit/web-util/web-query.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tests/unit/web-util') 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)) -- cgit v1.2.3