push @results, [$result] if $result;
my $visitor = Tree::Simple::Visitor::FindByPath->new;
+ SEARCH:
for my $part ( split '/', $namespace ) {
$visitor->setSearchPath($part);
$parent->accept($visitor);
my $uid = $child->getUID if $child;
my $match = $c->actions->{private}->{$uid}->{$action} if $uid;
push @results, [$match] if $match;
- $parent = $child if $child;
+ if ($child) {
+ $parent = $child;
+ }
+ else {
+ last SEARCH;
+ }
}
}
use FindBin;
use lib "$FindBin::Bin/../../../lib";
-use Test::More tests=>7 ;
+use Test::More tests=>9 ;
use Catalyst::Test 'TestApp';
is( $response->header('X-Test-Class'), 'TestApp::Controller::Action::Default', 'Test Class' );
is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' );
like( $response->content, qr/^bless\( .* 'Catalyst::Request' \)$/s, 'Content is a serialized Catalyst::Request' );
+
+ ok( $response = request('http://localhost/foo/bar/action'), 'Request' );
+ is( $response->code, 404, 'Invalid URI returned 404' );
}