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