use inlined module hiding in tests
[catagits/Catalyst-Runtime.git] / t / aggregate / live_engine_request_env.t
index 6763b14..5e7e4c6 100644 (file)
@@ -1,5 +1,3 @@
-#!perl
-
 use strict;
 use warnings;
 
@@ -12,36 +10,38 @@ use vars qw/
 /;
 
 BEGIN {
-    $EXPECTED_ENV_VAR = "CatalystTest$$";
-    $EXPECTED_ENV_VAL = $ENV{$EXPECTED_ENV_VAR}
-         = "Test env value " . rand(100000);
+    $EXPECTED_ENV_VAR = "CATALYSTTEST$$"; # has to be uppercase otherwise fails on Win32 
+    $EXPECTED_ENV_VAL = "Test env value " . rand(100000);
 }
 
-use Test::More tests => 7;
+use Test::More;
 use Catalyst::Test 'TestApp';
 
 use Catalyst::Request;
 use HTTP::Headers;
 use HTTP::Request::Common;
 
+my $response = request("http://localhost/dump/env", {
+    extra_env => { $EXPECTED_ENV_VAR => $EXPECTED_ENV_VAL },
+});
+
+ok( $response, 'Request' );
+ok( $response->is_success, 'Response Successful 2xx' );
+is( $response->content_type, 'text/plain', 'Response Content-Type' );
+
+my $env;
+ok( eval '$env = ' . $response->content, 'Unserialize Catalyst::Request' );
+is ref($env), 'HASH';
+ok exists($env->{PATH_INFO}), 'Have a PATH_INFO env var for dump/env';
+
+SKIP:
 {
-    my $env;
-
-    ok( my $response = request("http://localhost/dump/env"),
-        'Request' );
-    ok( $response->is_success, 'Response Successful 2xx' );
-    is( $response->content_type, 'text/plain', 'Response Content-Type' );
-    ok( eval '$env = TestApp->engine->env', 'engine->env is defined' );
-    is( ref($env), 'HASH', 'engine->env is a hash' );
-    ok exists($env->{PATH}), 'Have a PATH env var';
-
-    SKIP:
-    {
-        if ( $ENV{CATALYST_SERVER} ) {
-            skip 'Using remote server', 1;
-        }
-        is $env->{$EXPECTED_ENV_VAR}, $EXPECTED_ENV_VAL,
-            'Value we set as expected';
+    if ( $ENV{CATALYST_SERVER} ) {
+        skip 'Using remote server', 1;
     }
+    is $env->{$EXPECTED_ENV_VAR}, $EXPECTED_ENV_VAL,
+        'Value we set as expected for /dump/env'
 }
 
+done_testing;
+