Slight cleanup and fixing unit test

db4
Daniel Ehrenberg 2009-02-06 11:44:58 -06:00
parent b206c5a2d1
commit 47a751ad6c
3 changed files with 11 additions and 12 deletions

View File

@ -19,6 +19,7 @@ http
http.server http.server
http.server.redirection http.server.redirection
http.server.responses http.server.responses
io.streams.string
furnace.utilities ; furnace.utilities ;
IN: furnace.chloe-tags IN: furnace.chloe-tags
@ -80,16 +81,12 @@ CHLOE: a
CHLOE: base CHLOE: base
compile-a-url [ [XML <base href=<->/> XML] ] [xml-code] ; compile-a-url [ [XML <base href=<->/> XML] ] [xml-code] ;
USE: io.streams.string
: compile-hidden-form-fields ( for -- ) : compile-hidden-form-fields ( for -- )
'[ '[
[ _ [ "," split [ hidden render>xml ] map ] [ f ] if*
_ [ "," split [ hidden render ] each ] when* nested-forms get " " join f like nested-forms-key hidden-form-field>xml
nested-forms get " " join f like nested-forms-key hidden-form-field [ [ modify-form ] each-responder ] with-string-writer <unescaped>
[ modify-form ] each-responder [XML <div style="display: none;"><-><-><-></div> XML]
] with-string-writer <unescaped>
[XML <div style="display:none;"><-></div> XML]
] [code] ; ] [code] ;
: (compile-form-attrs) ( method action -- ) : (compile-form-attrs) ( method action -- )

View File

@ -81,11 +81,13 @@ GENERIC: modify-form ( responder -- )
M: object modify-form drop ; M: object modify-form drop ;
: hidden-form-field ( value name -- ) : hidden-form-field>xml ( value name -- xml )
over [ over [
[XML <input type="hidden" value=<-> name=<->/> XML] [XML <input type="hidden" value=<-> name=<->/> XML]
write-xml ] [ drop ] if ;
] [ 2drop ] if ;
: hidden-form-field ( value name -- )
hidden-form-field>xml write-xml ;
: nested-forms-key "__n" ; : nested-forms-key "__n" ;

View File

@ -135,7 +135,7 @@ TUPLE: person first-name last-name ;
[ ] [ H{ { "a" H{ { "b" "c" } } } } values set ] unit-test [ ] [ H{ { "a" H{ { "b" "c" } } } } values set ] unit-test
[ "<form method='post' action='foo'><div style='display: none;'><input type=\"hidden\" value=\"a\" name=\"__n\"/></div></form>" ] [ [ "<form method=\"post\" action=\"foo\"><div style=\"display: none;\"><input type=\"hidden\" value=\"a\" name=\"__n\"/></div></form>" ] [
[ [
"test10" test-template call-template "test10" test-template call-template
] run-template ] run-template