X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Flive%2Fcomponent%2Fcontroller%2Faction%2Fbegin.t;h=ab6564341a7841e28247a7a044b3e766f75c1231;hp=f94d13b9ad107ace133fa4583e578eefd14c5887;hb=587b0f5882d4f5e128ae082758da37b065a3efde;hpb=fbcc39ad23f2bbecf5d84c9ba581e6af86fcd460 diff --git a/t/live/component/controller/action/begin.t b/t/live/component/controller/action/begin.t index f94d13b..ab65643 100644 --- a/t/live/component/controller/action/begin.t +++ b/t/live/component/controller/action/begin.t @@ -6,29 +6,48 @@ use warnings; use FindBin; use lib "$FindBin::Bin/../../../lib"; -use Test::More tests => 7; +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 7*$iters; use Catalyst::Test 'TestApp'; -{ - my @expected = qw[ - TestApp::Controller::Action::Begin->begin - TestApp::Controller::Action::Begin->default - TestApp::View::Dump::Request->process - ]; - - my $expected = join( ", ", @expected ); - - ok( my $response = request('http://localhost/action/begin'), 'Request' ); - ok( $response->is_success, 'Response Successful 2xx' ); - is( $response->content_type, 'text/plain', 'Response Content-Type' ); - is( $response->header('X-Catalyst-Action'), 'default', 'Test Action' ); - is( - $response->header('X-Test-Class'), - 'TestApp::Controller::Action::Begin', - 'Test Class' - ); - is( $response->header('X-Catalyst-Executed'), - $expected, 'Executed actions' ); - like( $response->content, qr/'Catalyst::Request'/, - 'Content is a serialized Catalyst::Request' ); +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + + { + my @expected = qw[ + TestApp::Controller::Action::Begin->begin + TestApp::Controller::Action::Begin->default + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/begin'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), 'default', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Begin', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + like( $response->content, qr/'Catalyst::Request'/, + 'Content is a serialized Catalyst::Request' ); + } }