use warnings;
use strict;
-use Test::More;
-use HTTP::Request::Common;
+
+BEGIN {
+ use Test::More;
+ eval "use Types::Standard; 1;" || do {
+ plan skip_all => "Trouble loading Types::Standard => $@";
+ };
+}
{
package MyApp::Controller::Root;
use Moose;
use MooseX::MethodAttributes;
+ use Types::Standard qw/Tuple Int Str/;
extends 'Catalyst::Controller';
$c->res->body('many_ints');
}
+ sub tuple :Local Args(Tuple[Str,Int]) {
+ my ($self, $c, $int) = @_;
+ $c->res->body('tuple');
+ }
+
+
sub any_priority :Path('priority_test') Args(1) { $_[1]->res->body('any_priority') }
+
sub int_priority :Path('priority_test') Args(Int) { $_[1]->res->body('int_priority') }
sub default :Default {
my $res = request '/priority_test/1';
is $res->content, 'int_priority';
}
+
{
my $res = request '/priority_test/a';
is $res->content, 'any_priority';
}
+{
+ my $res = request '/tuple/aaa/111';
+ is $res->content, 'tuple';
+}
+
+{
+ my $res = request '/tuple/aaa/aaa';
+ is $res->content, 'default';
+}
+
done_testing;