fixed bugs in type constraints and cored some extensibility features
[catagits/Catalyst-Runtime.git] / t / class_traits.t
CommitLineData
ec4d7259 1use strict;
2use warnings;
3use Test::More;
4use Class::MOP;
5
6BEGIN {
7 package TestRole;
8 use Moose::Role;
9
10 sub a { 'a' }
11 sub b { 'b' }
12}
13
14{
15 package TestApp;
16
17 use Catalyst;
18
19 __PACKAGE__->request_class_traits([qw/TestRole/]);
20 __PACKAGE__->response_class_traits([qw/TestRole/]);
21 __PACKAGE__->stats_class_traits([qw/TestRole/]);
22
23 __PACKAGE__->setup;
24}
25
26
27foreach my $class_prefix (qw/request response stats/) {
28 my $method = 'composed_' .$class_prefix. '_class';
29 ok(
30 Class::MOP::class_of(TestApp->$method)->does_role('TestRole'),
31 "$method does TestRole",
32 );
33}
34
35use Catalyst::Test 'TestApp';
36
37my ($res, $c) = ctx_request '/';
38
39is $c->req->a, 'a';
40is $c->req->b, 'b';
41is $c->res->a, 'a';
42is $c->res->b, 'b';
43
44done_testing;