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_action.t;h=41e2b165c503184d657b3dfc4271f30dc4e1bc2e;hp=8dda2031c88e6e1571b21175ac84c646a8fe6ca7;hb=10542b5178b2fa036e0658111523ea68a7a04437;hpb=d87210ecba82597fafd26a7da8c8e1bf66d2c5ec diff --git a/t/aggregate/live_component_controller_action_action.t b/t/aggregate/live_component_controller_action_action.t index 8dda203..41e2b16 100644 --- a/t/aggregate/live_component_controller_action_action.t +++ b/t/aggregate/live_component_controller_action_action.t @@ -1,5 +1,3 @@ -#!perl - use strict; use warnings; @@ -166,6 +164,52 @@ sub run_tests { 'Content is a serialized Catalyst::Request' ); } + + { + ok( my $response = request('http://localhost/action_action_eight'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action_action_eight', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Action', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Action' \)$/s, + 'Content is a serialized Catalyst::Action' + ); + + require Catalyst::Action; # when running against a remote server, we + # need to load the class in the test process + # to be able to introspect the action instance + # later. + my $action = eval $response->content; + is_deeply $action->attributes->{extra_attribute}, [13]; + is_deeply $action->attributes->{another_extra_attribute}, ['foo']; + } + { + ok( my $response = request('http://localhost/action_action_nine'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action_action_nine', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Action', + 'Test Class' + ); + is( $response->header('X-TestExtraArgsAction'), '42,13', 'Extra args get passed to action constructor' ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } } done_testing;