use inlined module hiding in tests
[catagits/Catalyst-Runtime.git] / t / aggregate / live_component_controller_action_end.t
1 use strict;
2 use warnings;
3
4 use FindBin;
5 use lib "$FindBin::Bin/../lib";
6
7 our $iters;
8
9 BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; }
10
11 use Test::More tests => 7*$iters;
12 use Catalyst::Test 'TestApp';
13
14 if ( $ENV{CAT_BENCHMARK} ) {
15     require Benchmark;
16     Benchmark::timethis( $iters, \&run_tests );
17 }
18 else {
19     for ( 1 .. $iters ) {
20         run_tests();
21     }
22 }
23
24 sub run_tests {
25     {
26         my @expected = qw[
27           TestApp::Controller::Action::End->begin
28           TestApp::Controller::Action::End->default
29           TestApp::View::Dump::Request->process
30           TestApp::Controller::Action::End->end
31         ];
32
33         my $expected = join( ", ", @expected );
34
35         ok( my $response = request('http://localhost/action/end'), 'Request' );
36         ok( $response->is_success, 'Response Successful 2xx' );
37         is( $response->content_type, 'text/plain', 'Response Content-Type' );
38         is( $response->header('X-Catalyst-Action'), 'default', 'Test Action' );
39         is(
40             $response->header('X-Test-Class'),
41             'TestApp::Controller::Action::End',
42             'Test Class'
43         );
44         is( $response->header('X-Catalyst-Executed'),
45             $expected, 'Executed actions' );
46         like(
47             $response->content,
48             qr/^bless\( .* 'Catalyst::Request' \)$/s,
49             'Content is a serialized Catalyst::Request'
50         );
51     }
52 }