aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2025-02-07 16:09:42 +0000
committerChristopher Baines <mail@cbaines.net>2025-02-07 16:09:42 +0000
commitcb2085b6848d25f71f90103abb919ea7914c606e (patch)
tree25f9caa9b2eabe0c284563a863f9809d82ddb58b /tests
parentb0bb65dbedc35ea885579fe43a8b3b7059417dd0 (diff)
downloadknots-cb2085b6848d25f71f90103abb919ea7914c606e.tar
knots-cb2085b6848d25f71f90103abb919ea7914c606e.tar.gz
Make more web server encoding tweaks
Diffstat (limited to 'tests')
-rw-r--r--tests/web-server.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/web-server.scm b/tests/web-server.scm
index 21d90f9..74f81ea 100644
--- a/tests/web-server.scm
+++ b/tests/web-server.scm
@@ -81,6 +81,34 @@
"☺"
body)))))
+(run-fibers-for-tests
+ (lambda ()
+ (let* ((web-server
+ (run-knots-web-server
+ (lambda (request)
+ (values '((content-type . (text/plain
+ (charset . "utf-8")))
+ (content-length . 3))
+ (lambda (port)
+ (display "☺" port))))
+ #:port 0)) ;; Bind to any port
+ (port
+ (web-server-port web-server))
+ (uri
+ (build-uri 'http #:host "127.0.0.1" #:port port)))
+
+ (let ((response
+ body
+ (http-get
+ uri
+ ;; TODO Remove once using Guile 3.0.10
+ #:streaming? #t
+ #:port (non-blocking-open-socket-for-uri uri))))
+ (assert-equal
+ "☺"
+ (utf8->string
+ (get-bytevector-n body 3)))))))
+
;; Test hanlding of exceptions when writing the response to a client
(run-fibers-for-tests
(lambda ()