racket/collects/tests/net/cgi.rkt
2010-04-27 16:50:15 -06:00

23 lines
891 B
Racket

#lang scheme
(require net/cgi (only-in net/uri-codec current-alist-separator-mode)
tests/eli-tester)
(define (test-bindings mode query-string)
(parameterize ([current-alist-separator-mode mode])
(putenv "QUERY_STRING" query-string)
(get-bindings)))
(provide tests)
(define (tests)
(putenv "REQUEST_METHOD" "GET")
(test (test-bindings 'amp-or-semi "key1=value1&key2=value2;key3=value3")
=> '([key1 . "value1"] [key2 . "value2"] [key3 . "value3"])
(test-bindings 'amp "key1=value1&key2=value2")
=> '([key1 . "value1"] [key2 . "value2"])
(test-bindings 'amp "key1=value1;key2=value2")
=> '([key1 . "value1;key2=value2"])
(test-bindings 'semi "key1=value1;key2=value2")
=> '([key1 . "value1"] [key2 . "value2"])
(test-bindings 'semi "key1=value1&key2=value2")
=> '([key1 . "value1&key2=value2"])))