Commit | Line | Data |
c46dd4e8 |
1 | #!perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Test::More; |
7 | |
a6fb59b7 |
8 | use Catalyst; |
c46dd4e8 |
9 | |
10 | my %env = ( |
11 | 'SCRIPT_NAME' => '/koo/blurb', |
12 | 'PATH_INFO' => '/koo/blurb', |
13 | 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', |
14 | 'REQUEST_METHOD' => 'GET', |
15 | 'SCRIPT_FILENAME' => 'C:\\Foo\\script\\blurb', |
16 | 'INSTANCE_META_PATH' => '/LM/W3SVC/793536', |
17 | 'SERVER_SOFTWARE' => 'Microsoft-IIS/6.0', |
18 | 'AUTH_PASSWORD' => '', |
19 | 'AUTH_TYPE' => '', |
20 | 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows; U; Windows NT 5.2; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729)', |
21 | 'REMOTE_PORT' => '1281', |
22 | 'QUERY_STRING' => '', |
23 | 'URL' => '/koo/blurb', |
24 | 'HTTP_ACCEPT_LANGUAGE' => 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', |
25 | 'FCGI_ROLE' => 'RESPONDER', |
26 | 'HTTP_KEEP_ALIVE' => '300', |
27 | 'CONTENT_TYPE' => '', |
28 | 'LOCAL_ADDR' => '127.0.0.1', |
29 | 'GATEWAY_INTERFACE' => 'CGI/1.1', |
30 | 'HTTPS' => 'off', |
31 | 'DOCUMENT_ROOT' => 'C:\\Foo\\script', |
32 | 'REMOTE_HOST' => '127.0.0.1', |
33 | 'PATH_TRANSLATED' => 'C:\\Foo\\script\\blurb', |
34 | 'APPL_PHYSICAL_PATH' => 'C:\\Foo\\script\\', |
35 | 'SERVER_NAME' => '127.0.0.1', |
36 | 'HTTP_ACCEPT_ENCODING' => 'gzip,deflate', |
37 | 'HTTP_CONNECTION' => 'keep-alive', |
38 | 'INSTANCE_ID' => '793536', |
39 | 'CONTENT_LENGTH' => '0', |
40 | 'AUTH_USER' => '', |
41 | 'APPL_MD_PATH' => '/LM/W3SVC/793536/Root/koo', |
42 | 'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', |
43 | 'REMOTE_USER' => '', |
44 | 'SERVER_PORT_SECURE' => '0', |
45 | 'SERVER_PORT' => 83, |
46 | 'REMOTE_ADDR' => '127.0.0.1', |
47 | 'SERVER_PROTOCOL' => 'HTTP/1.1', |
48 | 'REQUEST_URI' => '/koo/blurb', |
49 | 'APP_POOL_ID' => 'DefaultAppPool', |
50 | 'HTTP_HOST' => '127.0.0.1:83' |
51 | ); |
52 | |
a6fb59b7 |
53 | sub fix_env { |
54 | my (%input_env) = @_; |
55 | |
56 | my $mangled_env; |
1316cc64 |
57 | my $app = Catalyst->apply_default_middlewares(sub { |
a6fb59b7 |
58 | my ($env) = @_; |
59 | $mangled_env = $env; |
60 | return [ 200, ['Content-Type' => 'text/plain'], [''] ]; |
61 | }); |
62 | |
63 | $app->({ %input_env, 'psgi.url_scheme' => 'http' }); |
64 | return %{ $mangled_env }; |
65 | } |
66 | |
67 | my %fixed_env = fix_env(%env); |
c46dd4e8 |
68 | |
a6fb59b7 |
69 | is($fixed_env{PATH_INFO}, '//blurb', 'check PATH_INFO'); |
70 | is($fixed_env{SCRIPT_NAME}, '/koo', 'check SCRIPT_NAME'); |
c46dd4e8 |
71 | |
a6fb59b7 |
72 | done_testing; |