7 my %hidden = map { (my $m = "$_.pm") =~ s{::}{/}g; $m => 1 } qw(
12 return unless exists $hidden{$_[1]};
13 die "Can't locate $_[1] in \@INC (hidden)\n";
19 $INC{'TestRole'} = __FILE__;
25 package Catalyst::TraitFor::Request::Foo;
26 $INC{'Catalyst/TraitFor/Request/Foo.pm'} = __FILE__;
31 package TestApp::TraitFor::Request::Bar;
32 $INC{'TestApp/TraitFor/Request/Bar.pm'} = __FILE__;
37 package Catalyst::TraitFor::Response::Foo;
38 $INC{'Catalyst/TraitFor/Response/Foo.pm'} = __FILE__;
44 package TestApp::TraitFor::Response::Bar;
45 $INC{'TestApp/TraitFor/Response/Bar.pm'} = __FILE__;
53 package TestApp::Controller::Root;
54 $INC{'TestApp/Controller/Root.pm'} = __FILE__;
58 BEGIN { extends 'Catalyst::Controller' };
60 sub root :Path('/') {}
65 $INC{'TestApp.pm'} = __FILE__;
69 __PACKAGE__->request_class_traits([qw/TestRole Foo Bar/]);
70 __PACKAGE__->response_class_traits([qw/TestRole Foo Bar/]);
71 __PACKAGE__->stats_class_traits([qw/TestRole/]);
77 foreach my $class_prefix (qw/request response stats/) {
78 my $method = 'composed_' .$class_prefix. '_class';
80 Class::MOP::class_of(TestApp->$method)->does_role('TestRole'),
81 "$method does TestRole",
85 use Catalyst::Test 'TestApp';
87 my ($res, $c) = ctx_request '/';