Fix arg constraints example in doc
[catagits/Catalyst-Runtime.git] / t / class_traits.t
1 use strict;
2 use warnings;
3 use Test::More;
4 use Class::MOP;
5
6 BEGIN {
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  
27 foreach 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
35 use Catalyst::Test 'TestApp';
36
37 my ($res, $c) = ctx_request '/';
38
39 is $c->req->a, 'a';
40 is $c->req->b, 'b';
41 is $c->res->a, 'a';
42 is $c->res->b, 'b';
43
44 done_testing;