Test uri_for with path = 0
[catagits/Catalyst-Runtime.git] / t / aggregate / live_component_controller_action_streaming.t
index 8ae35b5..e14b928 100644 (file)
@@ -1,5 +1,3 @@
-#!perl
-
 use strict;
 use warnings;
 
@@ -29,18 +27,19 @@ sub run_tests {
         ok( my $response = request('http://localhost/streaming'), 'Request' );
         ok( $response->is_success, 'Response Successful 2xx' );
         is( $response->content_type, 'text/plain', 'Response Content-Type' );
-        
+        is( $response->header('X-Test-Header'), 'valid', 'Headers sent properly' );
+        is( $response->header('X-Test-Header-Call-Count'), 1);
+
         SKIP:
         {
             if ( $ENV{CATALYST_SERVER} ) {
                 skip "Using remote server", 1;
             }
-            
-            # XXX: Length should be undef here, but HTTP::Request::AsCGI sets it
+
             ok(!defined $response->content_length, 'No Content-Length for streaming responses');
             is(length $response->content, 12, 'Response content' );
         }
-        
+
         is( $response->content,, <<'EOF', 'Content is a stream' );
 foo
 bar
@@ -52,14 +51,14 @@ EOF
   SKIP:
     {
         if ( $ENV{CATALYST_SERVER} ) {
-            skip "Using remote server", 5;
+            skip "Using remote server", 10;
         }
 
         my $file = "$FindBin::Bin/../lib/TestApp/Controller/Action/Streaming.pm";
         my $fh = IO::File->new( $file, 'r' );
         my $buffer;
         if ( defined $fh ) {
-            $fh->read( $buffer, 1024 );
+            $fh->read( $buffer, 2048 );
             $fh->close;
         }
 
@@ -68,6 +67,17 @@ EOF
         ok( $response->is_success, 'Response Successful 2xx' );
         is( $response->content_type, 'text/plain', 'Response Content-Type' );
         is( $response->content_length, -s $file, 'Response Content-Length' );
+        is( $response->header('X-Test-Header'), 'valid', 'Headers sent properly' );
+        is( $response->header('X-Test-Header-Call-Count'), 1);
+        is( $response->content, $buffer, 'Content is read from filehandle' );
+
+        ok( $response = request('http://localhost/action/streaming/body_glob'),
+            'Request' );
+        ok( $response->is_success, 'Response Successful 2xx' );
+        is( $response->content_type, 'text/plain', 'Response Content-Type' );
+        is( $response->content_length, -s $file, 'Response Content-Length' );
+        is( $response->header('X-Test-Header'), 'valid', 'Headers sent properly' );
+        is( $response->header('X-Test-Header-Call-Count'), 1);
         is( $response->content, $buffer, 'Content is read from filehandle' );
     }
 
@@ -77,6 +87,8 @@ EOF
         ok( my $response = request('http://localhost/action/streaming/body_large'), 'Request' );
         ok( $response->is_success, 'Response Successful 2xx' );
         is( $response->content_type, 'text/plain', 'Response Content-Type' );
+        is( $response->header('X-Test-Header'), 'valid', 'Headers sent properly' );
+        is( $response->header('X-Test-Header-Call-Count'), 1);
         is( $response->content_length, $size, 'Response Content-Length' );
         is( $response->content, "\0" x $size, 'Content is read from filehandle' );
     }