summaryrefslogtreecommitdiff
path: root/test-suite/tests/web-response.test
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-28 22:26:44 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-28 22:41:25 +0100
commit75d6c59fc25cdcc02f19b626961d46a96bb33234 (patch)
tree4cae7bb7ee07cba3e974d69e771a170aadf9bf77 /test-suite/tests/web-response.test
parentee2d874119b898114c6f4b61051cc3c35e1bab38 (diff)
downloadguile-75d6c59fc25cdcc02f19b626961d46a96bb33234.tar.gz
web: Add `response-body-port'.
* module/web/response.scm (make-delimited-input-port, response-body-port): New procedures. (read-response-body): Use `response-body-port'. * test-suite/tests/web-response.test ("example-1")["response-body-port"]: New test. ("example-2")["response-body-port"]: New test.
Diffstat (limited to 'test-suite/tests/web-response.test')
-rw-r--r--test-suite/tests/web-response.test18
1 files changed, 16 insertions, 2 deletions
diff --git a/test-suite/tests/web-response.test b/test-suite/tests/web-response.test
index 721643b53..f9679f5e2 100644
--- a/test-suite/tests/web-response.test
+++ b/test-suite/tests/web-response.test
@@ -21,6 +21,7 @@
#:use-module (web uri)
#:use-module (web response)
#:use-module (rnrs bytevectors)
+ #:use-module (rnrs io ports)
#:use-module (srfi srfi-19)
#:use-module (test-suite lib))
@@ -109,7 +110,14 @@ consectetur adipisicing elit,\r
(pass-if-equal "by accessor"
'(gzip)
- (response-content-encoding r))))
+ (response-content-encoding r))
+
+ (pass-if-equal "response-body-port"
+ `("utf-8" ,body)
+ (with-fluids ((%default-port-encoding #f))
+ (let* ((r (read-response (open-input-string example-1)))
+ (p (response-body-port r)))
+ (list (port-encoding p) (get-bytevector-all p)))))))
(with-test-prefix "example-2"
(let* ((r (read-response (open-input-string example-2)))
@@ -121,4 +129,10 @@ consectetur adipisicing elit,\r
(string-append
"Lorem ipsum dolor sit amet, consectetur adipisicing elit,"
" sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."))
- b)))
+ b)
+ (pass-if-equal "response-body-port"
+ `("ISO-8859-1" ,(utf8->string b)) ; no `charset', hence ISO-8859-1
+ (with-fluids ((%default-port-encoding #f))
+ (let* ((r (read-response (open-input-string example-2)))
+ (p (response-body-port r)))
+ (list (port-encoding p) (get-string-all p)))))))