Added support for ~ prefix to plugins and action classes
[catagits/Catalyst-Runtime.git] / t / aggregate / live_component_controller_action_action.t
CommitLineData
734a1e11 1#!perl
2
3use strict;
4use warnings;
5
6use FindBin;
42da66a9 7use lib "$FindBin::Bin/../lib";
734a1e11 8
9our $iters;
10
6b25e555 11BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; }
734a1e11 12
5d8129e9 13use Test::More tests => 42 * $iters;
734a1e11 14use Catalyst::Test 'TestApp';
15
16if ( $ENV{CAT_BENCHMARK} ) {
17 require Benchmark;
18 Benchmark::timethis( $iters, \&run_tests );
19}
20else {
21 for ( 1 .. $iters ) {
22 run_tests();
23 }
24}
25
26sub run_tests {
27 {
28 ok( my $response = request('http://localhost/action_action_one'),
29 'Request' );
30 ok( $response->is_success, 'Response Successful 2xx' );
31 is( $response->content_type, 'text/plain', 'Response Content-Type' );
32 is( $response->header('X-Catalyst-Action'),
33 'action_action_one', 'Test Action' );
34 is(
35 $response->header('X-Test-Class'),
36 'TestApp::Controller::Action::Action',
37 'Test Class'
38 );
39 is( $response->header('X-Action'), 'works' );
40 like(
41 $response->content,
42 qr/^bless\( .* 'Catalyst::Request' \)$/s,
43 'Content is a serialized Catalyst::Request'
44 );
45 }
46
47 {
48 ok( my $response = request('http://localhost/action_action_two'),
49 'Request' );
50 ok( $response->is_success, 'Response Successful 2xx' );
51 is( $response->content_type, 'text/plain', 'Response Content-Type' );
52 is( $response->header('X-Catalyst-Action'),
53 'action_action_two', 'Test Action' );
54 is(
55 $response->header('X-Test-Class'),
56 'TestApp::Controller::Action::Action',
57 'Test Class'
58 );
59 is( $response->header('X-Action-After'), 'awesome' );
60 like(
61 $response->content,
62 qr/^bless\( .* 'Catalyst::Request' \)$/s,
63 'Content is a serialized Catalyst::Request'
64 );
65 }
66
67 {
68 ok(
69 my $response =
70 request('http://localhost/action_action_three/one/two'),
71 'Request'
72 );
73 ok( $response->is_success, 'Response Successful 2xx' );
74 is( $response->content_type, 'text/plain', 'Response Content-Type' );
75 is( $response->header('X-Catalyst-Action'),
76 'action_action_three', 'Test Action' );
77 is(
78 $response->header('X-Test-Class'),
79 'TestApp::Controller::Action::Action',
80 'Test Class'
81 );
82 is( $response->header('X-TestAppActionTestBefore'), 'one' );
83 like(
84 $response->content,
85 qr/^bless\( .* 'Catalyst::Request' \)$/s,
86 'Content is a serialized Catalyst::Request'
87 );
88 }
89
9287719b 90 {
91 ok( my $response = request('http://localhost/action_action_four'),
92 'Request' );
93 ok( $response->is_success, 'Response Successful 2xx' );
94 is( $response->content_type, 'text/plain', 'Response Content-Type' );
95 is( $response->header('X-Catalyst-Action'),
96 'action_action_four', 'Test Action' );
97 is(
98 $response->header('X-Test-Class'),
99 'TestApp::Controller::Action::Action',
100 'Test Class'
101 );
102 is( $response->header('X-TestAppActionTestMyAction'), 'MyAction works' );
103 like(
104 $response->content,
105 qr/^bless\( .* 'Catalyst::Request' \)$/s,
106 'Content is a serialized Catalyst::Request'
107 );
108 }
5d8129e9 109
110 {
111 ok( my $response = request('http://localhost/action_action_five'),
112 'Request' );
113 ok( $response->is_success, 'Response Successful 2xx' );
114 is( $response->content_type, 'text/plain', 'Response Content-Type' );
115 is( $response->header('X-Catalyst-Action'),
116 'action_action_five', 'Test Action' );
117 is(
118 $response->header('X-Test-Class'),
119 'TestApp::Controller::Action::Action',
120 'Test Class'
121 );
122 is( $response->header('X-Action'), 'works' );
123 like(
124 $response->content,
125 qr/^bless\( .* 'Catalyst::Request' \)$/s,
126 'Content is a serialized Catalyst::Request'
127 );
128 }
129
130
131 {
132 ok( my $response = request('http://localhost/action_action_six'),
133 'Request' );
134 ok( $response->is_success, 'Response Successful 2xx' );
135 is( $response->content_type, 'text/plain', 'Response Content-Type' );
136 is( $response->header('X-Catalyst-Action'),
137 'action_action_six', 'Test Action' );
138 is(
139 $response->header('X-Test-Class'),
140 'TestApp::Controller::Action::Action',
141 'Test Class'
142 );
143 is( $response->header('X-TestAppActionTestMyAction'), 'MyAction works' );
144 like(
145 $response->content,
146 qr/^bless\( .* 'Catalyst::Request' \)$/s,
147 'Content is a serialized Catalyst::Request'
148 );
149 }
9287719b 150
734a1e11 151}