From e53a507fd464d0dba069b193027d891bd3da61b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 13 Jan 2021 22:43:45 +0100 Subject: Add additional parse-endpoint-string tests. --- tests/server.scm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'tests/server.scm') diff --git a/tests/server.scm b/tests/server.scm index 0efd63d0..706697f6 100644 --- a/tests/server.scm +++ b/tests/server.scm @@ -2,7 +2,20 @@ ;; Tests parse-endpoint-string, used for defining server routes. ;;; Code: -(test-assert (parse-endpoint-string "/static/:dir/:file")) -;; => "/static/([^/]+)/([^/]+)" -;; => (dir file) +(((web http make-routes) parse-endpoint-string) + ((calp util) let*)) +(test-assert "Check that parsing doesn't crash" + (parse-endpoint-string "/static/:dir/:file")) + +;; Checks that parsing produces correct results +(let* ((path args (parse-endpoint-string "/static/:dir/:file"))) + (test-equal "/static/([^/]+)/([^/]+)" path) + (test-equal '(dir file) args)) + + +;; Checks that parsing with custom regex works +;; along with literal periods. +(let* ((path args (parse-endpoint-string "/static/:filename{.*}.:ext"))) + (test-equal "/static/(.*)\\.([^/.]+)" path) + (test-equal '(filename ext) args)) -- cgit v1.2.3