4 use HTTP::Request::Common;
7 package MyApp::Controller::Root;
8 $INC{'MyApp/Controller/Root.pm'} = __FILE__;
11 use MooseX::MethodAttributes;
13 extends 'Catalyst::Controller';
15 sub an_int :Local Args(Int) {
16 my ($self, $c, $int) = @_;
17 $c->res->body('an_int');
20 sub many_ints :Local Args(ArrayRef[Int]) {
21 my ($self, $c, $int) = @_;
22 $c->res->body('many_ints');
25 sub any_priority :Path('priority_test') Args(1) { $_[1]->res->body('any_priority') }
26 sub int_priority :Path('priority_test') Args(Int) { $_[1]->res->body('int_priority') }
28 sub default :Default {
29 my ($self, $c, $int) = @_;
30 $c->res->body('default');
33 MyApp::Controller::Root->config(namespace=>'');
38 #MyApp->config(show_internal_actions => 1);
42 use Catalyst::Test 'MyApp';
45 my $res = request '/an_int/1';
46 is $res->content, 'an_int';
50 my $res = request '/an_int/aa';
51 is $res->content, 'default';
55 my $res = request '/many_ints/1';
56 is $res->content, 'many_ints';
60 my $res = request '/many_ints/1/2';
61 is $res->content, 'many_ints';
65 my $res = request '/many_ints/1/2/3';
66 is $res->content, 'many_ints';
70 my $res = request '/many_ints/1/2/a';
71 is $res->content, 'default';
75 my $res = request '/priority_test/1';
76 is $res->content, 'int_priority';
79 my $res = request '/priority_test/a';
80 is $res->content, 'any_priority';