From f7716ac1a87649cad96242f2d5bf0a987d7f430c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 7 Mar 2022 15:31:00 +0100 Subject: Add new tests. --- tests/test/server.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/test/server.scm (limited to 'tests/test/server.scm') diff --git a/tests/test/server.scm b/tests/test/server.scm new file mode 100644 index 00000000..1b5d4775 --- /dev/null +++ b/tests/test/server.scm @@ -0,0 +1,24 @@ +;;; Commentary: +;; Tests parse-endpoint-string, used for defining server routes. +;;; Code: + +(define-module (test server) + :use-module (srfi srfi-64) + :use-module (srfi srfi-88) + :use-module ((web http make-routes) + :select (parse-endpoint-string)) + :use-module ((hnh util) :select (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