Converted the cgi tests to use my test macro, and included them in the

nightly testing.

svn: r14139
This commit is contained in:
Eli Barzilay 2009-03-17 07:04:16 +00:00
parent 6b5b193815
commit 2008456d64
3 changed files with 21 additions and 34 deletions

View File

@ -1,6 +1,7 @@
#lang scheme
(require net/cgi
net/uri-codec)
net/uri-codec
tests/eli-tester)
(define-syntax test-result
(syntax-rules ()
@ -13,38 +14,20 @@
"Error: `~a' evaluated to `~a', expected `~a'.\n"
'expression result expected))))]))
(putenv "REQUEST_METHOD" "GET")
(void (putenv "REQUEST_METHOD" "GET"))
(test-result (begin
(current-alist-separator-mode 'amp-or-semi)
(putenv "QUERY_STRING" "key1=value1&key2=value2;key3=value3")
(get-bindings))
'((key1 . "value1")
(key2 . "value2")
(key3 . "value3")))
(define (test-bindings mode query-string)
(parameterize ([current-alist-separator-mode mode])
(putenv "QUERY_STRING" query-string)
(get-bindings)))
(test-result (begin
(current-alist-separator-mode 'amp)
(putenv "QUERY_STRING" "key1=value1&key2=value2")
(get-bindings))
'((key1 . "value1")
(key2 . "value2")))
(test-result (begin
(current-alist-separator-mode 'amp)
(putenv "QUERY_STRING" "key1=value1;key2=value2")
(get-bindings))
'((key1 . "value1;key2=value2")))
(test-result (begin
(current-alist-separator-mode 'semi)
(putenv "QUERY_STRING" "key1=value1;key2=value2")
(get-bindings))
'((key1 . "value1")
(key2 . "value2")))
(test-result (begin
(current-alist-separator-mode 'semi)
(putenv "QUERY_STRING" "key1=value1&key2=value2")
(get-bindings))
'((key1 . "value1&key2=value2")))
(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"]))

View File

@ -0,0 +1,3 @@
#lang scheme/base
(require "cgi.ss")

View File

@ -38,6 +38,7 @@
;; [require "stepper/automatic-tests.ss" (lib "scheme/base")]
[require "lazy/main.ss"]
[require "scribble/main.ss"]
[require "net/main.ss"]
))