Commit | Line | Data |
c46dd4e8 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | |
d89b863e |
6 | use Catalyst (); |
c46dd4e8 |
7 | |
8 | my %env = ( |
9 | 'SCRIPT_NAME' => '/bar', |
10 | 'SERVER_NAME' => 'localhost:8000', |
11 | 'HTTP_ACCEPT_ENCODING' => 'gzip,deflate', |
12 | 'HTTP_CONNECTION' => 'keep-alive', |
13 | 'PATH_INFO' => '', |
14 | 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', |
15 | 'REQUEST_METHOD' => 'GET', |
16 | 'SCRIPT_FILENAME' => '/tmp/Foo/root/bar', |
17 | 'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', |
18 | 'SERVER_SOFTWARE' => 'lighttpd/1.4.15', |
19 | 'QUERY_STRING' => '', |
20 | 'REMOTE_PORT' => '22207', |
21 | 'SERVER_PORT' => 8000, |
22 | 'REDIRECT_STATUS' => '200', |
23 | 'HTTP_ACCEPT_LANGUAGE' => 'en-us,en;q=0.5', |
24 | 'REMOTE_ADDR' => '127.0.0.1', |
25 | 'FCGI_ROLE' => 'RESPONDER', |
26 | 'HTTP_KEEP_ALIVE' => '300', |
27 | 'SERVER_PROTOCOL' => 'HTTP/1.1', |
28 | 'REQUEST_URI' => '/bar', |
29 | 'GATEWAY_INTERFACE' => 'CGI/1.1', |
30 | 'SERVER_ADDR' => '127.0.0.1', |
31 | 'DOCUMENT_ROOT' => '/tmp/Foo/root', |
32 | 'HTTP_HOST' => 'localhost:8000', |
33 | ); |
34 | |
d89b863e |
35 | sub fix_env { |
36 | my (%input_env) = @_; |
37 | |
38 | my $mangled_env; |
1316cc64 |
39 | my $app = Catalyst->apply_default_middlewares(sub { |
d89b863e |
40 | my ($env) = @_; |
41 | $mangled_env = $env; |
42 | return [ 200, ['Content-Type' => 'text/plain'], [''] ]; |
43 | }); |
44 | |
45 | $app->({ %input_env, 'psgi.url_scheme' => 'http' }); |
46 | return %{ $mangled_env }; |
47 | } |
48 | |
49 | my %fixed_env = fix_env(%env); |
c46dd4e8 |
50 | |
d89b863e |
51 | is($fixed_env{PATH_INFO}, '/bar', 'check PATH_INFO'); |
64565a07 |
52 | ok(!exists($fixed_env{SCRIPT_NAME}) || !length($fixed_env{SCRIPT_NAME}), |
d3670826 |
53 | 'check SCRIPT_NAME'); |
c46dd4e8 |
54 | |
d89b863e |
55 | done_testing; |