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