diff --git a/collects/tests/web-server/formlets-test.rkt b/collects/tests/web-server/formlets-test.rkt index 34b9703af0..4a7bcc1d71 100644 --- a/collects/tests/web-server/formlets-test.rkt +++ b/collects/tests/web-server/formlets-test.rkt @@ -658,5 +658,3 @@ )) -(require rackunit/text-ui) -(run-tests all-formlets-tests) diff --git a/collects/tests/web-server/private/define-closure-test.rkt b/collects/tests/web-server/private/define-closure-test.rkt index ce52c6b7b7..6ec5946f98 100644 --- a/collects/tests/web-server/private/define-closure-test.rkt +++ b/collects/tests/web-server/private/define-closure-test.rkt @@ -55,11 +55,11 @@ (test-case "serialize id procedure" - (check = 7 ((deserialize (serialize (make-id))) 7))) + (check = 7 ((deserialize (serialize (make-id (lambda () (values))))) 7))) (test-case "id procedure" - (check = 7 ((make-id) 7))) + (check = 7 ((make-id (lambda () (values))) 7))) (test-case "add-y procedure" @@ -79,21 +79,21 @@ (test-case "simple interpreter case" - (check = 3 (evaluate 3 (make-the-empty-env)))) + (check = 3 (evaluate 3 (make-the-empty-env (lambda () (values)))))) (test-case "serialize simple interpreter case" (check = 3 ((deserialize (serialize evaluate)) 3 - (deserialize (serialize (make-the-empty-env)))))) + (deserialize (serialize (make-the-empty-env (lambda () (values)))))))) (test-case "apply identity" - (check = 3 (evaluate '((lambda (x) x) 3) (make-the-empty-env)))) + (check = 3 (evaluate '((lambda (x) x) 3) (make-the-empty-env (lambda () (values)))))) (test-case "serialize environments" - (let* ([e0 (make-the-empty-env)] + (let* ([e0 (make-the-empty-env (lambda () (values)))] [e1 (make-extended-env (lambda () (values e0 'x 1)))] [e2 (make-extended-env (lambda () (values e1 'y 2)))] [e3 (make-extended-env (lambda () (values e2 'z 3)))] diff --git a/collects/tests/web-server/private/request-test.rkt b/collects/tests/web-server/private/request-test.rkt index 8a3684b0e1..9e0076ed28 100644 --- a/collects/tests/web-server/private/request-test.rkt +++ b/collects/tests/web-server/private/request-test.rkt @@ -66,7 +66,8 @@ ip (open-output-bytes) (make-custodian) #f) 8081 - (lambda _ (values "s1" "s2")))))) + (lambda _ (values "s1" "s2"))) + (void)))) (test-suite "POST Bindings" @@ -75,5 +76,5 @@ (test-equal? "simple test 2" (get-post-data/raw "hello=world") #"hello=world") (test-equal? "simple test 3" - (binding:form-value (bindings-assq #"hello" (get-bindings "hello=world"))) - #"world"))))) + (binding:form-value (bindings-assq #"hello" (force (get-bindings "hello=world")))) + #"world"))))) \ No newline at end of file diff --git a/collects/tests/web-server/private/response-test.rkt b/collects/tests/web-server/private/response-test.rkt index a3bfad465a..9517a57b61 100644 --- a/collects/tests/web-server/private/response-test.rkt +++ b/collects/tests/web-server/private/response-test.rkt @@ -1,10 +1,12 @@ #lang racket/base (require rackunit + racket/port xml/xml (only-in mzlib/file make-temporary-file) web-server/http web-server/http/response + (prefix-in compat0: web-server/compat/0/http/response-structs) "../util.rkt") (require/expose web-server/http/response @@ -20,57 +22,60 @@ (apply f c any) (redact (get-output-bytes o))) +(define-syntax-rule (test-equi? t a e) + (test-equal? t (bytes-sort a) (bytes-sort e))) + (define output-response-tests (test-suite "output-response" (test-suite "response" - (test-equal? "response" - (output output-response - (response 404 #"404" (current-seconds) #"text/html" - (list) void)) - #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n") - (test-equal? "response (header)" - (output output-response - (response 404 #"404" (current-seconds) #"text/html" - (list (make-header #"Header" #"Value")) void)) - #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\nHeader: Value\r\n\r\n") - (test-equal? "response (body)" + (test-equi? "response" (output output-response (response 404 #"404" (current-seconds) #"text/html" (list) void)) - #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n") - (test-equal? "response (bytes body)" - (output output-response - (response 404 #"404" (current-seconds) #"text/html" - (list) void)) - #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n") - (test-equal? "response (both)" + #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n") + (test-equi? "response (header)" (output output-response (response 404 #"404" (current-seconds) #"text/html" (list (make-header #"Header" #"Value")) void)) - #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\nHeader: Value\r\n\r\n")) + #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nConnection: close\r\nHeader: Value\r\n\r\n") + (test-equi? "response (body)" + (output output-response + (response 404 #"404" (current-seconds) #"text/html" + (list) void)) + #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n") + (test-equi? "response (bytes body)" + (output output-response + (response 404 #"404" (current-seconds) #"text/html" + (list) void)) + #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n") + (test-equi? "response (both)" + (output output-response + (response 404 #"404" (current-seconds) #"text/html" + (list (make-header #"Header" #"Value")) void)) + #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nConnection: close\r\nHeader: Value\r\n\r\n")) (test-suite "response/full" - (test-equal? "response/full" + (test-equi? "response/full" (output output-response (response/full 404 #"404" (current-seconds) #"text/html" (list) (list))) #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n") - (test-equal? "response/full (header)" + (test-equi? "response/full (header)" (output output-response (response/full 404 #"404" (current-seconds) #"text/html" (list (make-header #"Header" #"Value")) (list))) #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\nHeader: Value\r\n\r\n") - (test-equal? "response/full (bytes body)" + (test-equi? "response/full (bytes body)" (output output-response (response/full 404 #"404" (current-seconds) #"text/html" (list) (list #"Content!"))) #"HTTP/1.1 404 404\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 8\r\n\r\nContent!") - (test-equal? "response/full (both)" + (test-equi? "response/full (both)" (output output-response (response/full 404 #"404" (current-seconds) #"text/html" (list (make-header #"Header" #"Value")) (list #"Content!"))) @@ -78,25 +83,25 @@ (test-suite "Simple content" - (test-equal? "empty" + (test-equi? "empty" (output output-response - (list #"text/html")) + (compat0:normalize-response (list #"text/html"))) #"HTTP/1.1 200 Okay\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n") - (test-equal? "not" + (test-equi? "not" (output output-response - (list #"text/html" "Content")) + (compat0:normalize-response (list #"text/html" "Content"))) #"HTTP/1.1 200 Okay\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 7\r\n\r\nContent") - (test-equal? "not, bytes" + (test-equi? "not, bytes" (output output-response - (list #"text/html" #"Content")) + (compat0:normalize-response (list #"text/html" #"Content"))) #"HTTP/1.1 200 Okay\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html\r\nContent-Length: 7\r\n\r\nContent")) (test-suite "xexpr" - (test-equal? "any" + (test-equi? "any" (output output-response - `(html (head (title "Hey!")) (body "Content"))) - #"HTTP/1.1 200 Okay\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: Racket\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 65\r\n\r\n