X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Fclass_traits.t;h=d6a0c5052871cf6563d1c4423a9bb02c459748e9;hp=f796323ddef7ef94e20932034525745ef3b35fa1;hb=199731fb710c6a165793f055f85de60539039dfe;hpb=ec4d72594fb7a701c2f36e85ecf9a680ca1abba2 diff --git a/t/class_traits.t b/t/class_traits.t index f796323..d6a0c50 100644 --- a/t/class_traits.t +++ b/t/class_traits.t @@ -4,20 +4,59 @@ use Test::More; use Class::MOP; BEGIN { + my %hidden = map { (my $m = "$_.pm") =~ s{::}{/}g; $m => 1 } qw( + Foo + Bar + ); + unshift @INC, sub { + return unless exists $hidden{$_[1]}; + die "Can't locate $_[1] in \@INC (hidden)\n"; + }; +} + +BEGIN { package TestRole; + $INC{'TestRole'} = __FILE__; use Moose::Role; sub a { 'a' } sub b { 'b' } + + package Catalyst::TraitFor::Request::Foo; + $INC{'Catalyst/TraitFor/Request/Foo.pm'} = __FILE__; + use Moose::Role; + + sub c { 'c' } + + package TestApp::TraitFor::Request::Bar; + $INC{'TestApp/TraitFor/Request/Bar.pm'} = __FILE__; + use Moose::Role; + + sub d { 'd' } + + package Catalyst::TraitFor::Response::Foo; + $INC{'Catalyst/TraitFor/Response/Foo.pm'} = __FILE__; + + use Moose::Role; + + sub c { 'c' } + + package TestApp::TraitFor::Response::Bar; + $INC{'TestApp/TraitFor/Response/Bar.pm'} = __FILE__; + + use Moose::Role; + + sub d { 'd' } } { package TestApp; + $INC{'TestApp.pm'} = __FILE__; use Catalyst; - __PACKAGE__->request_class_traits([qw/TestRole/]); - __PACKAGE__->response_class_traits([qw/TestRole/]); + __PACKAGE__->request_class_traits([qw/TestRole Foo Bar/]); + __PACKAGE__->response_class_traits([qw/TestRole Foo Bar/]); __PACKAGE__->stats_class_traits([qw/TestRole/]); __PACKAGE__->setup; @@ -38,7 +77,11 @@ my ($res, $c) = ctx_request '/'; is $c->req->a, 'a'; is $c->req->b, 'b'; +is $c->req->c, 'c'; +is $c->req->d, 'd'; is $c->res->a, 'a'; is $c->res->b, 'b'; +is $c->res->c, 'c'; +is $c->res->d, 'd'; done_testing;