X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Fclass_traits.t;fp=t%2Fclass_traits.t;h=f796323ddef7ef94e20932034525745ef3b35fa1;hp=0000000000000000000000000000000000000000;hb=ec4d72594fb7a701c2f36e85ecf9a680ca1abba2;hpb=d9f0a350554cca79adefd4e97b4982d431f8c914 diff --git a/t/class_traits.t b/t/class_traits.t new file mode 100644 index 0000000..f796323 --- /dev/null +++ b/t/class_traits.t @@ -0,0 +1,44 @@ +use strict; +use warnings; +use Test::More; +use Class::MOP; + +BEGIN { + package TestRole; + use Moose::Role; + + sub a { 'a' } + sub b { 'b' } +} + +{ + package TestApp; + + use Catalyst; + + __PACKAGE__->request_class_traits([qw/TestRole/]); + __PACKAGE__->response_class_traits([qw/TestRole/]); + __PACKAGE__->stats_class_traits([qw/TestRole/]); + + __PACKAGE__->setup; +} + + +foreach my $class_prefix (qw/request response stats/) { + my $method = 'composed_' .$class_prefix. '_class'; + ok( + Class::MOP::class_of(TestApp->$method)->does_role('TestRole'), + "$method does TestRole", + ); +} + +use Catalyst::Test 'TestApp'; + +my ($res, $c) = ctx_request '/'; + +is $c->req->a, 'a'; +is $c->req->b, 'b'; +is $c->res->a, 'a'; +is $c->res->b, 'b'; + +done_testing;