diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-11-28 22:26:44 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-11-28 22:41:25 +0100 |
commit | 75d6c59fc25cdcc02f19b626961d46a96bb33234 (patch) | |
tree | 4cae7bb7ee07cba3e974d69e771a170aadf9bf77 /test-suite/tests/web-response.test | |
parent | ee2d874119b898114c6f4b61051cc3c35e1bab38 (diff) | |
download | guile-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.test | 18 |
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))))))) |