[Catalyst-commits] r11194 - in Catalyst-Runtime/5.80/trunk/t: aggregate lib/TestApp/Controller/Action

rafl at dev.catalyst.perl.org rafl at dev.catalyst.perl.org
Fri Aug 21 21:22:45 GMT 2009


Author: rafl
Date: 2009-08-21 21:22:45 +0000 (Fri, 21 Aug 2009)
New Revision: 11194

Modified:
   Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_streaming.t
   Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Streaming.pm
Log:
Add test for sending the body from a filehandle with more data than the default chunksize of 64k.

Modified: Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_streaming.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_streaming.t	2009-08-21 21:22:36 UTC (rev 11193)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_streaming.t	2009-08-21 21:22:45 UTC (rev 11194)
@@ -10,7 +10,7 @@
 
 BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; }
 
-use Test::More tests => 10*$iters;
+use Test::More tests => 15*$iters;
 use Catalyst::Test 'TestApp';
 
 if ( $ENV{CAT_BENCHMARK} ) {
@@ -69,4 +69,14 @@
         is( $response->content_length, -s $file, 'Response Content-Length' );
         is( $response->content, $buffer, 'Content is read from filehandle' );
     }
+
+    {
+        my $size = 128 * 1024; # more than one read with the default chunksize
+
+        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->content_length, $size, 'Response Content-Length' );
+        is( $response->content, "\0" x $size, 'Content is read from filehandle' );
+    }
 }

Modified: Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Streaming.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Streaming.pm	2009-08-21 21:22:36 UTC (rev 11193)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Streaming.pm	2009-08-21 21:22:45 UTC (rev 11194)
@@ -16,7 +16,7 @@
 
 sub body : Local {
     my ( $self, $c ) = @_;
-    
+
     my $file = "$FindBin::Bin/../lib/TestApp/Controller/Action/Streaming.pm";
     my $fh = IO::File->new( $file, 'r' );
     if ( defined $fh ) {
@@ -27,4 +27,16 @@
     }
 }
 
+sub body_large : Local {
+    my ($self, $c) = @_;
+
+    # more than one write with the default chunksize
+    my $size = 128 * 1024;
+
+    my $data = "\0" x $size;
+    open my $fh, '<', \$data;
+    $c->res->content_length($size);
+    $c->res->body($fh);
+}
+
 1;




More information about the Catalyst-commits mailing list