X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flive%2Fcomponent%2Fcontroller%2Faction%2Finheritance.t;h=4845d62d99cda580518b60aefcfffc56eb838796;hb=232fd39402371d9550ad97d92a4ceafd283874b0;hp=19cd86111137858a6dd178a24f4ac4ab61671339;hpb=fbcc39ad23f2bbecf5d84c9ba581e6af86fcd460;p=catagits%2FCatalyst-Runtime.git diff --git a/t/live/component/controller/action/inheritance.t b/t/live/component/controller/action/inheritance.t index 19cd861..4845d62 100644 --- a/t/live/component/controller/action/inheritance.t +++ b/t/live/component/controller/action/inheritance.t @@ -6,69 +6,114 @@ use warnings; use FindBin; use lib "$FindBin::Bin/../../../lib"; -use Test::More tests =>21; +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 21*$iters; use Catalyst::Test 'TestApp'; +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( -$iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} -{ - my @expected = qw[ - TestApp::Controller::Action::Inheritance->begin - TestApp::Controller::Action::Inheritance->auto - TestApp::Controller::Action::Inheritance->default - TestApp::View::Dump::Request->process - TestApp::Controller::Action::Inheritance->end - ]; +sub run_tests { + { + my @expected = qw[ + TestApp::Controller::Action::Inheritance->begin + TestApp::Controller::Action::Inheritance->auto + TestApp::Controller::Action::Inheritance->default + TestApp::View::Dump::Request->process + TestApp::Controller::Action::Inheritance->end + ]; - my $expected = join( ", ", @expected ); + my $expected = join( ", ", @expected ); - ok( my $response = request('http://localhost/action/inheritance'), '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::Inheritance', 'Test Class' ); - is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); - like( $response->content, qr/^bless\( .* 'Catalyst::Request' \)$/s, 'Content is a serialized Catalyst::Request' ); -} + ok( my $response = request('http://localhost/action/inheritance'), + '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::Inheritance', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } -{ - my @expected = qw[ - TestApp::Controller::Action::Inheritance::A->begin - TestApp::Controller::Action::Inheritance->auto - TestApp::Controller::Action::Inheritance::A->auto - TestApp::Controller::Action::Inheritance::A->default - TestApp::View::Dump::Request->process - TestApp::Controller::Action::Inheritance::A->end - ]; + { + my @expected = qw[ + TestApp::Controller::Action::Inheritance::A->begin + TestApp::Controller::Action::Inheritance->auto + TestApp::Controller::Action::Inheritance::A->auto + TestApp::Controller::Action::Inheritance::A->default + TestApp::View::Dump::Request->process + TestApp::Controller::Action::Inheritance::A->end + ]; - my $expected = join( ", ", @expected ); + my $expected = join( ", ", @expected ); - ok( my $response = request('http://localhost/action/inheritance/a'), '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::Inheritance::A', 'Test Class' ); - is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); - like( $response->content, qr/^bless\( .* 'Catalyst::Request' \)$/s, 'Content is a serialized Catalyst::Request' ); -} + ok( my $response = request('http://localhost/action/inheritance/a'), + '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::Inheritance::A', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } -{ - my @expected = qw[ - TestApp::Controller::Action::Inheritance::A::B->begin - TestApp::Controller::Action::Inheritance->auto - TestApp::Controller::Action::Inheritance::A->auto - TestApp::Controller::Action::Inheritance::A::B->auto - TestApp::Controller::Action::Inheritance::A::B->default - TestApp::View::Dump::Request->process - TestApp::Controller::Action::Inheritance::A::B->end - ]; + { + my @expected = qw[ + TestApp::Controller::Action::Inheritance::A::B->begin + TestApp::Controller::Action::Inheritance->auto + TestApp::Controller::Action::Inheritance::A->auto + TestApp::Controller::Action::Inheritance::A::B->auto + TestApp::Controller::Action::Inheritance::A::B->default + TestApp::View::Dump::Request->process + TestApp::Controller::Action::Inheritance::A::B->end + ]; - my $expected = join( ", ", @expected ); + my $expected = join( ", ", @expected ); - ok( my $response = request('http://localhost/action/inheritance/a/b'), '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::Inheritance::A::B', 'Test Class' ); - is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' ); - like( $response->content, qr/^bless\( .* 'Catalyst::Request' \)$/s, 'Content is a serialized Catalyst::Request' ); + ok( my $response = request('http://localhost/action/inheritance/a/b'), + '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::Inheritance::A::B', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } }