X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Fengine%2Frequest%2Fbody.t;h=3bc28fd19a794ad3192b29c8eea4ade919e936a5;hp=03e3b03a505683b18ebc5ac162fe6cc321d40ae1;hb=1408d0a4a06459625233de7e50c38707c184a83f;hpb=2930d61024f0e6aad2efb559d082347c52147e5e diff --git a/t/engine/request/body.t b/t/engine/request/body.t index 03e3b03..3bc28fd 100644 --- a/t/engine/request/body.t +++ b/t/engine/request/body.t @@ -6,7 +6,7 @@ use warnings; use FindBin; use lib "$FindBin::Bin/../../lib"; -use Test::More tests => 10; +use Test::More tests => 20; use Catalyst::Test 'TestApp'; use Catalyst::Request; @@ -37,3 +37,28 @@ use HTTP::Request::Common; is( $creq->content_length, $request->content_length, 'Catalyst::Request Content-Length' ); is( $creq->body, $request->content, 'Catalyst::Request Content' ); } + +{ + my $creq; + + my $request = POST( 'http://localhost/dump/request/', + 'Content-Type' => 'text/plain', + 'Content' => 'x' x 100_000 + ); + + ok( my $response = request($request), 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + like( $response->content, qr/^bless\( .* 'Catalyst::Request' \)$/s, 'Content is a serialized Catalyst::Request' ); + + { + no strict 'refs'; + ok( eval '$creq = ' . $response->content, 'Unserialize Catalyst::Request' ); + } + + isa_ok( $creq, 'Catalyst::Request' ); + is( $creq->method, 'POST', 'Catalyst::Request method' ); + is( $creq->content_type, 'text/plain', 'Catalyst::Request Content-Type' ); + is( $creq->content_length, $request->content_length, 'Catalyst::Request Content-Length' ); + is( $creq->body, $request->content, 'Catalyst::Request Content' ); +} \ No newline at end of file