6 eval "use Types::Standard; 1;" || do {
7 plan skip_all => "Trouble loading Types::Standard => $@";
12 package MyApp::Controller::Root;
13 $INC{'MyApp/Controller/Root.pm'} = __FILE__;
16 use MooseX::MethodAttributes;
17 use Types::Standard qw/Tuple Int Str/;
19 extends 'Catalyst::Controller';
21 sub an_int :Local Args(Int) {
22 my ($self, $c, $int) = @_;
23 $c->res->body('an_int');
26 sub many_ints :Local Args(ArrayRef[Int]) {
27 my ($self, $c, $int) = @_;
28 $c->res->body('many_ints');
31 sub tuple :Local Args(Tuple[Str,Int]) {
32 my ($self, $c, $int) = @_;
33 $c->res->body('tuple');
37 sub any_priority :Path('priority_test') Args(1) { $_[1]->res->body('any_priority') }
39 sub int_priority :Path('priority_test') Args(Int) { $_[1]->res->body('int_priority') }
41 sub default :Default {
42 my ($self, $c, $int) = @_;
43 $c->res->body('default');
46 MyApp::Controller::Root->config(namespace=>'');
51 #MyApp->config(show_internal_actions => 1);
55 use Catalyst::Test 'MyApp';
58 my $res = request '/an_int/1';
59 is $res->content, 'an_int';
63 my $res = request '/an_int/aa';
64 is $res->content, 'default';
68 my $res = request '/many_ints/1';
69 is $res->content, 'many_ints';
73 my $res = request '/many_ints/1/2';
74 is $res->content, 'many_ints';
78 my $res = request '/many_ints/1/2/3';
79 is $res->content, 'many_ints';
83 my $res = request '/many_ints/1/2/a';
84 is $res->content, 'default';
88 my $res = request '/priority_test/1';
89 is $res->content, 'int_priority';
93 my $res = request '/priority_test/a';
94 is $res->content, 'any_priority';
98 my $res = request '/tuple/aaa/111';
99 is $res->content, 'tuple';
103 my $res = request '/tuple/aaa/aaa';
104 is $res->content, 'default';