X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Flive_component_controller_action_chained.t;h=d388a3b86c1ea71f4548c47bd18b6e748b57b6c9;hb=8e322ed0b39da75b8d888025782f496ca781527f;hp=221169a5c4f3bb04df3123ae8c97c3fc00e82e9f;hpb=569b665ec6e28d629c114a5fe34894ad71e8e588;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/live_component_controller_action_chained.t b/t/aggregate/live_component_controller_action_chained.t index 221169a..d388a3b 100644 --- a/t/aggregate/live_component_controller_action_chained.t +++ b/t/aggregate/live_component_controller_action_chained.t @@ -1,5 +1,3 @@ -#!perl - use strict; use warnings; @@ -55,7 +53,7 @@ sub run_tests { { my $expected = undef; - ok( my $response = request('http://localhost/chained/foo/1/end'), + ok( my $response = request('http://localhost/chained/foo/1/end'), 'chained + local endpoint; missing last argument' ); is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); @@ -114,7 +112,7 @@ sub run_tests { my $expected = join( ", ", @expected ); - ok( my $response = request('http://localhost/chained/foo2/10/20/end2/15/25'), + ok( my $response = request('http://localhost/chained/foo2/10/20/end2/15/25'), 'chained + local (2 args each)' ); is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); @@ -409,7 +407,7 @@ sub run_tests { } # - # This is for testing if the arguments got passed to the actions + # This is for testing if the arguments got passed to the actions # correctly. # { @@ -773,7 +771,26 @@ sub run_tests { } # + # Test throwing an error in the middle of a chain. # + { + my @expected = qw[ + TestApp::Controller::Action::Chained->begin + TestApp::Controller::Action::Chained->chain_error_a + TestApp::Controller::Action::Chained->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/chained/chain_error/1/end/2'), + "Break a chain in the middle" ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'FATAL ERROR: break in the middle of a chain', 'Content OK' ); + } + + # + # Test dieing in the middle of a chain. # { my @expected = qw[ @@ -788,7 +805,7 @@ sub run_tests { "Break a chain in the middle" ); is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); - is( $response->content, 'FATAL ERROR: break in the middle of a chain', 'Content OK' ); + is( $response->content, 'FATAL ERROR: Caught exception in TestApp::Controller::Action::Chained->chain_die_a "die in the middle of a chain"', 'Content OK' ); } # @@ -1020,8 +1037,8 @@ sub run_tests { # With args given, run "all" ok( $response = request('http://localhost/argsorder/X'), 'Correct arg order ran' ); - is( $response->header('X-Catalyst-Executed'), - join(", ", + is( $response->header('X-Catalyst-Executed'), + join(", ", qw[ TestApp::Controller::Action::Chained->begin TestApp::Controller::Action::Chained::ArgsOrder->base @@ -1030,7 +1047,7 @@ sub run_tests { ]) ); is( $response->content, 'base; ; all; X', 'Content OK' ); - + } # @@ -1071,11 +1088,11 @@ sub run_tests { is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); } - + # # */search # doc/* - # + # # request for doc/search should end up in doc/* { my @expected = qw[