[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