silence warnings in tests
[catagits/Catalyst-Runtime.git] / t / class_traits_CAR_bug.t
CommitLineData
0f0fedb2 1use strict;
2use warnings;
3use Test::More;
4use Class::MOP;
5
6BEGIN {
7 use Test::More;
8 eval "use Catalyst::Action::REST; 1" || do {
9 plan skip_all => "Trouble loading Catalyst::Action::REST => $@";
10 };
11}
12
13BEGIN {
10542b51 14 my %hidden = map { (my $m = "$_.pm") =~ s{::}{/}g; $m => 1 } qw(
15 Foo
16 Bar
17 );
18 unshift @INC, sub {
19 return unless exists $hidden{$_[1]};
20 die "Can't locate $_[1] in \@INC (hidden)\n";
21 };
22}
23
24BEGIN {
0f0fedb2 25 package TestRole;
26 $INC{'TestRole'} = __FILE__;
27 use Moose::Role;
28
29 sub a { 'a' }
30 sub b { 'b' }
31
32 package Catalyst::TraitFor::Request::Foo;
33 $INC{'Catalyst/TraitFor/Request/Foo.pm'} = __FILE__;
34 use Moose::Role;
35
36 sub c { 'c' }
37
38 package TestApp::TraitFor::Request::Bar;
39 $INC{'TestApp/TraitFor/Request/Bar.pm'} = __FILE__;
40 use Moose::Role;
41
42 sub d { 'd' }
43
44 package TestApp::Controller::Root;
45 $INC{'TestApp/Controller/Root.pm'} = __FILE__;
46
47 use Moose;
48 use MooseX::MethodAttributes;
49
50
51}
88e5a8b0 52
53c7cc10 53BEGIN {
54 package TestApp::Controller::Root;
55 $INC{'TestApp/Controller/Root.pm'} = __FILE__;
56
57 use Moose;
58
59 BEGIN { extends 'Catalyst::Controller' };
60
61 sub root :Path('/') {}
62}
63
0f0fedb2 64{
65 package TestApp;
66 $INC{'TestApp.pm'} = __FILE__;
88e5a8b0 67
0f0fedb2 68 use Catalyst;
69
70 __PACKAGE__->request_class_traits([qw/TestRole Foo Bar/]);
71 __PACKAGE__->setup;
72}
88e5a8b0 73
74
0f0fedb2 75foreach my $class_prefix (qw/request/) {
76 my $method = 'composed_' .$class_prefix. '_class';
77 ok(
78 Class::MOP::class_of(TestApp->$method)->does_role('TestRole'),
79 "$method does TestRole",
80 );
81}
82
83use Catalyst::Test 'TestApp';
84
85my ($res, $c) = ctx_request '/';
86
87is $c->req->a, 'a';
88is $c->req->b, 'b';
89is $c->req->c, 'c';
90is $c->req->d, 'd';
91
92done_testing;