From: Zbigniew Łukasiak Date: Tue, 17 Nov 2009 14:45:13 +0000 (+0000) Subject: execute is now in Context - fixing test libs (for example test t/aggregate/live_compo... X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=6d136e077d5cffbf5c488c090488b834a53b97f3 execute is now in Context - fixing test libs (for example test t/aggregate/live_component_controller_action_index.t) --- diff --git a/t/lib/TestApp.pm b/t/lib/TestApp.pm index 94bddd9..50238af 100644 --- a/t/lib/TestApp.pm +++ b/t/lib/TestApp.pm @@ -24,36 +24,6 @@ TestApp->config( name => 'TestApp', root => '/some/dir' ); TestApp->context_class( 'TestApp::Context' ); TestApp->setup; -sub execute { - my $c = shift; - my $class = ref( $c->component( $_[0] ) ) || $_[0]; - my $action = $_[1]->reverse; - - my $method; - - if ( $action =~ /->(\w+)$/ ) { - $method = $1; - } - elsif ( $action =~ /\/(\w+)$/ ) { - $method = $1; - } - elsif ( $action =~ /^(\w+)$/ ) { - $method = $action; - } - - if ( $class && $method && $method !~ /^_/ ) { - my $executed = sprintf( "%s->%s", $class, $method ); - my @executed = $c->response->headers->header('X-Catalyst-Executed'); - push @executed, $executed; - $c->response->headers->header( - 'X-Catalyst-Executed' => join ', ', - @executed - ); - } - no warnings 'recursion'; - return $c->SUPER::execute(@_); -} - # Replace the very large HTML error page with # useful info if something crashes during a test sub finalize_error { diff --git a/t/lib/TestApp/Context.pm b/t/lib/TestApp/Context.pm index 3b09d79..1aa6d7e 100644 --- a/t/lib/TestApp/Context.pm +++ b/t/lib/TestApp/Context.pm @@ -21,5 +21,36 @@ sub count_leaks { return scalar @{ $ctx->leaks }; } +sub execute { + my $c = shift; + my $class = ref( $c->component( $_[0] ) ) || $_[0]; + my $action = $_[1]->reverse; + + my $method; + + if ( $action =~ /->(\w+)$/ ) { + $method = $1; + } + elsif ( $action =~ /\/(\w+)$/ ) { + $method = $1; + } + elsif ( $action =~ /^(\w+)$/ ) { + $method = $action; + } + + if ( $class && $method && $method !~ /^_/ ) { + my $executed = sprintf( "%s->%s", $class, $method ); + my @executed = $c->response->headers->header('X-Catalyst-Executed'); + push @executed, $executed; + $c->response->headers->header( + 'X-Catalyst-Executed' => join ', ', + @executed + ); + } + no warnings 'recursion'; + return $c->SUPER::execute(@_); +} + + 1;