X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Flive_component_controller_action_streaming.t;h=4a42e3fe04538a213c6b3f89547e955f41d0a1fd;hb=ac057d3b3f09bb43ce8730fbc0b3a12a4be5c774;hp=6cf1866a52ec3b0ebe2dc04a7e1ef4ccfd8e06f0;hpb=42da66a91b0a87ebb81d8552bcd0b05d3557c83e;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/live_component_controller_action_streaming.t b/t/aggregate/live_component_controller_action_streaming.t index 6cf1866..4a42e3f 100644 --- a/t/aggregate/live_component_controller_action_streaming.t +++ b/t/aggregate/live_component_controller_action_streaming.t @@ -10,7 +10,7 @@ our $iters; BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; } -use Test::More tests => 10*$iters; +use Test::More tests => 20*$iters; use Catalyst::Test 'TestApp'; if ( $ENV{CAT_BENCHMARK} ) { @@ -51,14 +51,14 @@ EOF SKIP: { if ( $ENV{CATALYST_SERVER} ) { - skip "Using remote server", 5; + skip "Using remote server", 10; } - my $file = "$FindBin::Bin/../01use.t"; + 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,5 +68,22 @@ EOF is( $response->content_type, 'text/plain', 'Response Content-Type' ); is( $response->content_length, -s $file, 'Response Content-Length' ); 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->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' ); } }