X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Faggregate%2Flive_component_controller_action_streaming.t;h=e14b9284745c1b2b449cdfb99ecb569a2f6e4ff2;hp=8ae35b5fc359173092c375f9cf8930f522c556d7;hb=82010ea176741c7a4f2baf3f6f27377b1d9f6b15;hpb=6e1254dce44efc98a11571a508d010829481e821 diff --git a/t/aggregate/live_component_controller_action_streaming.t b/t/aggregate/live_component_controller_action_streaming.t index 8ae35b5..e14b928 100644 --- a/t/aggregate/live_component_controller_action_streaming.t +++ b/t/aggregate/live_component_controller_action_streaming.t @@ -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' ); }