]> gitweb.factorcode.org Git - factor.git/blob - basis/http/server/rewrite/rewrite-tests.factor
410ab7ca3e55a7cac45180808be56f26ed8ac999
[factor.git] / basis / http / server / rewrite / rewrite-tests.factor
1 USING: accessors arrays http.server http.server.rewrite kernel
2 namespaces tools.test urls ;
3 IN: http.server.rewrite.tests
4
5 TUPLE: rewrite-test-default ;
6
7 M: rewrite-test-default call-responder*
8     drop "DEFAULT!" 2array ;
9
10 TUPLE: rewrite-test-child ;
11
12 M: rewrite-test-child call-responder*
13     drop "rewritten-param" param 2array ;
14
15 V{ } clone responder-nesting set
16 H{ } clone params set
17
18 <rewrite>
19     rewrite-test-child new >>child
20     rewrite-test-default new >>default
21     "rewritten-param" >>param
22 "rewrite" set
23
24 [ { { } "DEFAULT!" } ] [ { } "rewrite" get call-responder ] unit-test
25 [ { { } "xxx" } ] [ { "xxx" } "rewrite" get call-responder ] unit-test
26 [ { { "blah" } "xxx" } ] [ { "xxx" "blah" } "rewrite" get call-responder ] unit-test
27
28 <vhost-rewrite>
29     rewrite-test-child new >>child
30     rewrite-test-default new >>default
31     "rewritten-param" >>param
32     "blogs.vegan.net" >>suffix
33 "rewrite" set
34
35 [ { { } "DEFAULT!" } ] [
36     URL" http://blogs.vegan.net" url set
37     { } "rewrite" get call-responder
38 ] unit-test
39
40 [ { { } "DEFAULT!" } ] [
41     URL" http://www.blogs.vegan.net" url set
42     { } "rewrite" get call-responder
43 ] unit-test
44
45 [ { { } "erg" } ] [
46     URL" http://erg.blogs.vegan.net" url set
47     { } "rewrite" get call-responder
48 ] unit-test