blob: a6200cb819e7bbf49243a83bbb1937a497cdb208 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
;;; Commentary:
;; Tests parse-endpoint-string, used for defining server routes.
;;; Code:
(define-module (test server)
:use-module (srfi srfi-64)
:use-module (srfi srfi-71)
:use-module (srfi srfi-88)
:use-module ((web http make-routes)
:select (parse-endpoint-string)))
(test-assert "Check that parsing doesn't crash"
(parse-endpoint-string "/static/:dir/:file"))
;; Checks that parsing produces correct results
(test-group
"Simple parameters"
(let ((path args (parse-endpoint-string "/static/:dir/:file")))
(test-equal "Path" "/static/([^/.]+)/([^/.]+)" path)
(test-equal "Parameters" '(dir file) args)))
;; Checks that parsing with custom regex works
;; along with literal periods.
(test-group
"Custom regex for parameters"
(let ((path args (parse-endpoint-string "/static/:filename{.*}.:ext")))
(test-equal "Path" "/static/(.*)\\.([^/.]+)" path)
(test-equal "Parameters" '(filename ext) args)))
|