X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestApp%2FController%2FRoot.pm;h=58952230e722b0a737565eb97700690603076ab8;hb=8eab1a1ad6c18c13fc29292e7201bc658849532e;hp=18c6db802fe7bae9a59b93132bce6f3ddf66efd2;hpb=9c74923de2304b8c8f0a7a2faa0854ad9b4d3a92;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/TestApp/Controller/Root.pm b/t/lib/TestApp/Controller/Root.pm index 18c6db8..5895223 100644 --- a/t/lib/TestApp/Controller/Root.pm +++ b/t/lib/TestApp/Controller/Root.pm @@ -2,6 +2,7 @@ package TestApp::Controller::Root; use strict; use warnings; use base 'Catalyst::Controller'; +use utf8; __PACKAGE__->config->{namespace} = ''; @@ -14,11 +15,14 @@ sub zero : Path('0') { $c->forward('TestApp::View::Dump::Request'); } -sub localregex : LocalRegex('^localregex$') { - my ( $self, $c ) = @_; - $c->res->header( 'X-Test-Class' => ref($self) ); - $c->response->content_type('text/plain; charset=utf-8'); - $c->forward('TestApp::View::Dump::Request'); +sub zerobody : Local { + my ($self, $c) = @_; + $c->res->body('0'); +} + +sub emptybody : Local { + my ($self, $c) = @_; + $c->res->body(''); } sub index : Private { @@ -46,6 +50,7 @@ sub loop_test : Local { sub recursion_test : Local { my ( $self, $c ) = @_; + no warnings 'recursion'; $c->forward( 'recursion_test' ); } @@ -65,6 +70,50 @@ EndOfBody $c->response->body($body); } +sub body_semipredicate : Local { + my ($self, $c) = @_; + $c->res->body; # Old code tests length($c->res->body), which causes the value to be built (undef), which causes the predicate + $c->res->status( $c->res->has_body ? 500 : 200 ); # to return the wrong thing, resulting in a 500. + $c->res->body('Body'); +} + + +sub test_redirect :Global { + my ($self, $c) = @_; + # Don't set content_type + # Don't set body + $c->res->redirect('/go_here'); + # route for /go_here doesn't exist + # it is only for checking HTTP response code, content-type etc. +} + +sub test_redirect_uri_for :Global { + my ($self, $c) = @_; + # Don't set content_type + # Don't set body + $c->res->redirect($c->uri_for('/go_here')); + # route for /go_here doesn't exist + # it is only for checking HTTP response code, content-type etc. +} + +sub test_redirect_with_contenttype :Global { + my ($self, $c) = @_; + # set content_type but don't set body + $c->res->content_type('image/jpeg'); + $c->res->redirect('/go_here'); + # route for /go_here doesn't exist + # it is only for checking HTTP response code, content-type etc. +} + +sub test_redirect_with_content :Global { + my ($self, $c) = @_; + $c->res->content_type('text/plain'); + $c->res->body('Please kind sir, I beg you to go to /go_here.'); + $c->res->redirect('/go_here'); + # route for /go_here doesn't exist + # it is only for checking HTTP response code, content-type etc. +} + sub end : Private { my ($self,$c) = @_; }