X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Flive%2Fcomponent%2Fcontroller%2Faction%2Fauto.t;h=3df1ac480e732b284b4b050c7ebc294087917c6c;hp=ce7a4de293ab0f35ce5c57be667f27248161ae7f;hb=b960cfb8d2267479c5b1ea040687ffdcb181bcea;hpb=e1bf532b9461ab134abe5664a4438420f4eb33f5 diff --git a/t/live/component/controller/action/auto.t b/t/live/component/controller/action/auto.t index ce7a4de..3df1ac4 100644 --- a/t/live/component/controller/action/auto.t +++ b/t/live/component/controller/action/auto.t @@ -6,105 +6,107 @@ use warnings; use FindBin; use lib "$FindBin::Bin/../../../lib"; -use Test::More tests => 18; +use Test::More tests => 180; use Catalyst::Test 'TestApp'; -# test auto + local method -{ - my @expected = qw[ - TestApp::Controller::Action::Auto->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto->one - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/one'), 'auto + local' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'one', 'Content OK' ); -} - -# test auto + default -{ - my @expected = qw[ - TestApp::Controller::Action::Auto->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto->default - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/anything'), 'auto + default' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'default', 'Content OK' ); -} - -# test auto + auto + local -{ - my @expected = qw[ - TestApp::Controller::Action::Auto::Deep->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto::Deep->auto - TestApp::Controller::Action::Auto::Deep->one - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/deep/one'), 'auto + auto + local' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'deep one', 'Content OK' ); -} - -# test auto + auto + default -{ - my @expected = qw[ - TestApp::Controller::Action::Auto::Deep->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto::Deep->auto - TestApp::Controller::Action::Auto::Deep->default - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/deep/anything'), 'auto + auto + default' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'deep default', 'Content OK' ); -} - -# test auto + failing auto + local + end -{ - my @expected = qw[ - TestApp::Controller::Action::Auto::Abort->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto::Abort->auto - TestApp::Controller::Action::Auto::Abort->end - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/abort/one'), 'auto + failing auto + local' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'abort end', 'Content OK' ); -} - -# test auto + failing auto + default + end -{ - my @expected = qw[ - TestApp::Controller::Action::Auto::Abort->begin - TestApp::Controller::Action::Auto->auto - TestApp::Controller::Action::Auto::Abort->auto - TestApp::Controller::Action::Auto::Abort->end - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/auto/abort/anything'), 'auto + failing auto + default' ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - is( $response->content, 'abort end', 'Content OK' ); +for ( 1 .. 10 ) { + # test auto + local method + { + my @expected = qw[ + TestApp::Controller::Action::Auto->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto->one + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/one'), 'auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'one', 'Content OK' ); + } + + # test auto + default + { + my @expected = qw[ + TestApp::Controller::Action::Auto->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto->default + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/anything'), 'auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'default', 'Content OK' ); + } + + # test auto + auto + local + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Deep->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Deep->auto + TestApp::Controller::Action::Auto::Deep->one + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/deep/one'), 'auto + auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'deep one', 'Content OK' ); + } + + # test auto + auto + default + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Deep->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Deep->auto + TestApp::Controller::Action::Auto::Deep->default + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/deep/anything'), 'auto + auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'deep default', 'Content OK' ); + } + + # test auto + failing auto + local + end + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Abort->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Abort->auto + TestApp::Controller::Action::Auto::Abort->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/abort/one'), 'auto + failing auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'abort end', 'Content OK' ); + } + + # test auto + failing auto + default + end + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Abort->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Abort->auto + TestApp::Controller::Action::Auto::Abort->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/abort/anything'), 'auto + failing auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'abort end', 'Content OK' ); + } }