Commit | Line | Data |
e74b3d5c |
1 | #!perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use FindBin; |
7 | use lib "$FindBin::Bin/../lib"; |
8 | |
9 | use vars qw/ |
10 | $EXPECTED_ENV_VAR |
11 | $EXPECTED_ENV_VAL |
12 | /; |
13 | |
14 | BEGIN { |
d7eb055c |
15 | $EXPECTED_ENV_VAR = "CATALYSTTEST$$"; # has to be uppercase otherwise fails on Win32 |
fb34eb9c |
16 | $EXPECTED_ENV_VAL = "Test env value " . rand(100000); |
e74b3d5c |
17 | } |
18 | |
fb34eb9c |
19 | use Test::More tests => 7; |
e74b3d5c |
20 | use Catalyst::Test 'TestApp'; |
21 | |
22 | use Catalyst::Request; |
23 | use HTTP::Headers; |
24 | use HTTP::Request::Common; |
25 | |
26 | { |
fb34eb9c |
27 | my $response = request("http://localhost/dump/env", { |
28 | extra_env => { $EXPECTED_ENV_VAR => $EXPECTED_ENV_VAL }, |
29 | }); |
2f0a5436 |
30 | |
fb34eb9c |
31 | ok( $response, 'Request' ); |
e74b3d5c |
32 | ok( $response->is_success, 'Response Successful 2xx' ); |
33 | is( $response->content_type, 'text/plain', 'Response Content-Type' ); |
fb34eb9c |
34 | |
35 | my $env; |
69cc9001 |
36 | ok( eval '$env = ' . $response->content, 'Unserialize Catalyst::Request' ); |
37 | is ref($env), 'HASH'; |
fb34eb9c |
38 | ok exists($env->{PATH_INFO}), 'Have a PATH_INFO env var'; |
e74b3d5c |
39 | |
40 | SKIP: |
41 | { |
42 | if ( $ENV{CATALYST_SERVER} ) { |
43 | skip 'Using remote server', 1; |
44 | } |
45 | is $env->{$EXPECTED_ENV_VAR}, $EXPECTED_ENV_VAL, |
46 | 'Value we set as expected'; |
47 | } |
48 | } |
49 | |