Removes unecessary Content-Type header for GET unit tests
[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   package Catalyst::TraitFor::Request::Foo;
14   use Moose::Role;
15
16   sub c { 'c' }
17
18   package TestApp::TraitFor::Request::Bar;
19   use Moose::Role;
20
21   sub d { 'd' }
22
23   package Catalyst::TraitFor::Response::Foo;
24   use Moose::Role;
25
26   sub c { 'c' }
27
28   package TestApp::TraitFor::Response::Bar;
29   use Moose::Role;
30
31   sub d { 'd' }
32 }
33  
34 {
35   package TestApp;
36  
37   use Catalyst;
38
39   __PACKAGE__->request_class_traits([qw/TestRole Foo Bar/]);
40   __PACKAGE__->response_class_traits([qw/TestRole Foo Bar/]);
41   __PACKAGE__->stats_class_traits([qw/TestRole/]);
42
43   __PACKAGE__->setup;
44 }
45  
46  
47 foreach my $class_prefix (qw/request response stats/) {
48   my $method = 'composed_' .$class_prefix. '_class';
49   ok(
50     Class::MOP::class_of(TestApp->$method)->does_role('TestRole'),
51     "$method does TestRole",
52   );
53 }
54
55 use Catalyst::Test 'TestApp';
56
57 my ($res, $c) = ctx_request '/';
58
59 is $c->req->a, 'a';
60 is $c->req->b, 'b';
61 is $c->req->c, 'c';
62 is $c->req->d, 'd';
63 is $c->res->a, 'a';
64 is $c->res->b, 'b';
65 is $c->res->c, 'c';
66 is $c->res->d, 'd';
67
68 done_testing;