From 113e0aa184bca14a41ea15740cfe628a06e2151a Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 29 Mar 2011 09:24:25 -0600 Subject: [PATCH] Fix issue found by Eric Tanter --- collects/tests/web-server/formlets-test.rkt | 10 ++++++++++ collects/web-server/formlets/input.rkt | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/collects/tests/web-server/formlets-test.rkt b/collects/tests/web-server/formlets-test.rkt index ac2837398b..ecea26289d 100644 --- a/collects/tests/web-server/formlets-test.rkt +++ b/collects/tests/web-server/formlets-test.rkt @@ -418,6 +418,13 @@ (option ((value "0")) "1") (option ((value "1")) "2") (option ((value "2")) "3")))) + (test-equal? "multiselect-input" + (test-display (multiselect-input (list "xee" "john" "joe") #:display (curry format "something ~a") )) + '((select + ((multiple "true") (name "input_0")) + (option ((value "0")) "something xee") + (option ((value "1")) "something john") + (option ((value "2")) "something joe")))) ; select (test-equal? "select-input" @@ -638,3 +645,6 @@ (values "Jay" 10 6 10 8))))) )) + +(require rackunit/text-ui) +(run-tests all-formlets-tests) \ No newline at end of file diff --git a/collects/web-server/formlets/input.rkt b/collects/web-server/formlets/input.rkt index 4a07f58c60..fe1acf47b6 100644 --- a/collects/web-server/formlets/input.rkt +++ b/collects/web-server/formlets/input.rkt @@ -201,7 +201,8 @@ `(select (,@(if multiple? '([multiple "true"]) empty) [name ,name] ,@attrs) - ,@(for/list ([(vn e) (in-hash value->element)]) + ,@(for/list ([vn (in-range i)]) + (define e (hash-ref value->element vn)) (define v (number->string vn)) `(option ([value ,v] ,@(if (selected? e)