factor/unmaintained/cont-responder/callbacks-tests.factor

68 lines
1.6 KiB
Factor
Executable File

USING: furnace furnace.actions furnace.callbacks accessors
http http.server http.server.responses tools.test
namespaces io fry sequences
splitting kernel hashtables continuations ;
IN: furnace.callbacks.tests
[ 123 ] [
[
<request> "GET" >>method init-request
[
exit-continuation set
{ }
<action> [ [ "hello" print 123 ] show-final ] >>display
<callback-responder>
call-responder
] callcc1
] with-scope
] unit-test
[
<action> [
[
"hello" print
"text/html" <content>
] show-page
"byebye" print
[ 123 ] show-final
] >>display
<callback-responder> "r" set
[ 123 ] [
<request> init-request
[
exit-continuation set
<request> "GET" >>method init-request
{ } "r" get call-responder
] callcc1
body>> first
<request>
"GET" >>method
dup url>> rot cont-id associate >>query drop
dup url>> "/" >>path drop
init-request
[
exit-continuation set
{ }
"r" get call-responder
] callcc1
! get-post-get
<request>
"GET" >>method
dup url>> rot "location" header query>> >>query drop
dup url>> "/" >>path drop
init-request
[
exit-continuation set
{ }
"r" get call-responder
] callcc1
] unit-test
] with-scope