From: Sebastian Riedel Date: Sat, 19 Nov 2005 05:38:02 +0000 (+0000) Subject: Renamed tests X-Git-Tag: 5.7099_04~873 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=50cc3183118f1056427ab314b84b91fd0d9e1383 Renamed tests --- diff --git a/t/live_component_controller_action_auto.t b/t/live_component_controller_action_auto.t new file mode 100644 index 0000000..f99d4ad --- /dev/null +++ b/t/live_component_controller_action_auto.t @@ -0,0 +1,135 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 18*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); + + # new dispatcher: + # 11 wallclock secs (10.14 usr + 0.20 sys = 10.34 CPU) @ 15.18/s (n=157) + # old dispatcher (r1486): + # 11 wallclock secs (10.34 usr + 0.20 sys = 10.54 CPU) @ 13.76/s (n=145) +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + # test auto + local method + { + my @expected = qw[ + TestApp::Controller::Action::Auto->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto->one + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/one'), 'auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'one', 'Content OK' ); + } + + # test auto + default + { + my @expected = qw[ + TestApp::Controller::Action::Auto->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto->default + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/anything'), 'auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'default', 'Content OK' ); + } + + # test auto + auto + local + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Deep->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Deep->auto + TestApp::Controller::Action::Auto::Deep->one + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/deep/one'), 'auto + auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'deep one', 'Content OK' ); + } + + # test auto + auto + default + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Deep->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Deep->auto + TestApp::Controller::Action::Auto::Deep->default + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/deep/anything'), 'auto + auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'deep default', 'Content OK' ); + } + + # test auto + failing auto + local + end + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Abort->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Abort->auto + TestApp::Controller::Action::Auto::Abort->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/abort/one'), 'auto + failing auto + local' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'abort end', 'Content OK' ); + } + + # test auto + failing auto + default + end + { + my @expected = qw[ + TestApp::Controller::Action::Auto::Abort->begin + TestApp::Controller::Action::Auto->auto + TestApp::Controller::Action::Auto::Abort->auto + TestApp::Controller::Action::Auto::Abort->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/auto/abort/anything'), 'auto + failing auto + default' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'abort end', 'Content OK' ); + } +} diff --git a/t/live_component_controller_action_begin.t b/t/live_component_controller_action_begin.t new file mode 100644 index 0000000..ab65643 --- /dev/null +++ b/t/live_component_controller_action_begin.t @@ -0,0 +1,53 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 7*$iters; +use Catalyst::Test 'TestApp'; + +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' ); + } +} diff --git a/t/live_component_controller_action_default.t b/t/live_component_controller_action_default.t new file mode 100644 index 0000000..2e1d68b --- /dev/null +++ b/t/live_component_controller_action_default.t @@ -0,0 +1,68 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 12*$iters; +use Catalyst::Test 'TestApp'; + +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::Default->begin + TestApp::Controller::Action::Default->default + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/default'), + '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::Default', + '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( $response = request('http://localhost/foo/bar/action'), 'Request' ); + is( $response->code, 404, 'Invalid URI returned 404' ); + } + + # test that args are passed properly to default + { + my $creq; + my $expected = [ qw/action default arg1 arg2/ ]; + + ok( my $response = request('http://localhost/action/default/arg1/arg2'), 'Request' ); + ok( eval '$creq = ' . $response->content, 'Unserialize Catalyst::Request' ); + is_deeply( $creq->{arguments}, $expected, 'Arguments ok' ); + } +} diff --git a/t/live_component_controller_action_detach.t b/t/live_component_controller_action_detach.t new file mode 100644 index 0000000..adc5c8e --- /dev/null +++ b/t/live_component_controller_action_detach.t @@ -0,0 +1,100 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 18*$iters; +use Catalyst::Test 'TestApp'; + +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::Detach->begin + TestApp::Controller::Action::Detach->one + TestApp::Controller::Action::Detach->two + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + # Test detach to chain of actions. + ok( my $response = request('http://localhost/action/detach/one'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/detach/one', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Detach', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + } + + { + my @expected = qw[ + TestApp::Controller::Action::Detach->begin + TestApp::Controller::Action::Detach->path + TestApp::Controller::Action::Detach->two + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + # Test detach to chain of actions. + ok( my $response = request('http://localhost/action/detach/path'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/detach/path', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Detach', + 'Test Class' + ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + } + + { + ok( + my $response = + request('http://localhost/action/detach/with_args/old'), + 'Request with args' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'new' ); + } + + { + ok( + my $response = request( + 'http://localhost/action/detach/with_method_and_args/old'), + 'Request with args and method' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'new' ); + } +} diff --git a/t/live_component_controller_action_end.t b/t/live_component_controller_action_end.t new file mode 100644 index 0000000..8462170 --- /dev/null +++ b/t/live_component_controller_action_end.t @@ -0,0 +1,54 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 7*$iters; +use Catalyst::Test 'TestApp'; + +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::End->begin + TestApp::Controller::Action::End->default + TestApp::View::Dump::Request->process + TestApp::Controller::Action::End->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/end'), '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::End', + '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' + ); + } +} diff --git a/t/live_component_controller_action_forward.t b/t/live_component_controller_action_forward.t new file mode 100644 index 0000000..db1c8ea --- /dev/null +++ b/t/live_component_controller_action_forward.t @@ -0,0 +1,225 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 44 * $iters; +use Catalyst::Test 'TestApp'; + +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::Forward->begin + TestApp::Controller::Action::Forward->one + TestApp::Controller::Action::Forward->two + TestApp::Controller::Action::Forward->three + TestApp::Controller::Action::Forward->four + TestApp::Controller::Action::Forward->five + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + # Test forward to global private action + ok( my $response = request('http://localhost/action/forward/global'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/forward/global', 'Main Class Action' ); + + # Test forward to chain of actions. + ok( $response = request('http://localhost/action/forward/one'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/forward/one', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Forward', + '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::Forward->begin + TestApp::Controller::Action::Forward->jojo + TestApp::Controller::Action::Forward->one + TestApp::Controller::Action::Forward->two + TestApp::Controller::Action::Forward->three + TestApp::Controller::Action::Forward->four + TestApp::Controller::Action::Forward->five + TestApp::View::Dump::Request->process + TestApp::Controller::Action::Forward->three + TestApp::Controller::Action::Forward->four + TestApp::Controller::Action::Forward->five + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/forward/jojo'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/forward/jojo', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Forward', + '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/forward/with_args/old'), + 'Request with args' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'old' ); + } + + { + ok( + my $response = request( + 'http://localhost/action/forward/with_method_and_args/old'), + 'Request with args and method' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'old' ); + } + + # test forward with embedded args + { + ok( + my $response = + request('http://localhost/action/forward/args_embed_relative'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'ok' ); + } + + { + ok( + my $response = + request('http://localhost/action/forward/args_embed_absolute'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content, 'ok' ); + } + { + my @expected = qw[ + TestApp::Controller::Action::Relative->begin + TestApp::Controller::Action::Relative->relative + TestApp::Controller::Action::Forward->one + TestApp::Controller::Action::Forward->two + TestApp::Controller::Action::Forward->three + TestApp::Controller::Action::Forward->four + TestApp::Controller::Action::Forward->five + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + # Test forward to chain of actions. + ok( my $response = request('http://localhost/action/relative/relative'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/relative/relative', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Relative', + '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::Relative->begin + TestApp::Controller::Action::Relative->relative_two + TestApp::Controller::Action::Forward->one + TestApp::Controller::Action::Forward->two + TestApp::Controller::Action::Forward->three + TestApp::Controller::Action::Forward->four + TestApp::Controller::Action::Forward->five + TestApp::View::Dump::Request->process + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + # Test forward to chain of actions. + ok( + my $response = + request('http://localhost/action/relative/relative_two'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Catalyst-Action'), + 'action/relative/relative_two', + 'Test Action' + ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Relative', + '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' + ); + } +} diff --git a/t/live_component_controller_action_global.t b/t/live_component_controller_action_global.t new file mode 100644 index 0000000..13287a6 --- /dev/null +++ b/t/live_component_controller_action_global.t @@ -0,0 +1,83 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 18*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + { + ok( my $response = request('http://localhost/action_global_one'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action_global_one', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Global', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action_global_two'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action_global_two', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Global', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action_global_three'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action_global_three', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Global', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } +} diff --git a/t/live_component_controller_action_index.t b/t/live_component_controller_action_index.t new file mode 100644 index 0000000..cd4f9b0 --- /dev/null +++ b/t/live_component_controller_action_index.t @@ -0,0 +1,100 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 20*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + # test root index + { + my @expected = qw[ + TestApp->index + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + ok( my $response = request('http://localhost/'), 'root index' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'root index', 'root index ok' ); + + ok( $response = request('http://localhost'), 'root index no slash' ); + is( $response->content, 'root index', 'root index no slash ok' ); + } + + # test first-level controller index + { + my @expected = qw[ + TestApp::Controller::Index->index + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/index/'), 'first-level controller index' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'Index index', 'first-level controller index ok' ); + + ok( $response = request('http://localhost/index'), 'first-level controller index no slash' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'Index index', 'first-level controller index no slash ok' ); + } + + # test second-level controller index + { + my @expected = qw[ + TestApp::Controller::Action::Index->begin + TestApp::Controller::Action::Index->index + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/index/'), 'second-level controller index' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'Action-Index index', 'second-level controller index ok' ); + + ok( $response = request('http://localhost/action/index'), 'second-level controller index no slash' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, 'Action-Index index', 'second-level controller index no slash ok' ); + } + + # test controller default when index is present + { + my @expected = qw[ + TestApp::Controller::Action::Index->begin + TestApp::Controller::Action::Index->default + TestApp->end + ]; + + my $expected = join( ", ", @expected ); + + ok( my $response = request('http://localhost/action/index/foo'), 'default with index' ); + is( $response->header('X-Catalyst-Executed'), + $expected, 'Executed actions' ); + is( $response->content, "Error - TestApp::Controller::Action\n", 'default with index ok' ); + } +} diff --git a/t/live_component_controller_action_inheritance.t b/t/live_component_controller_action_inheritance.t new file mode 100644 index 0000000..f13b0e6 --- /dev/null +++ b/t/live_component_controller_action_inheritance.t @@ -0,0 +1,119 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +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(); + } +} + +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 ); + + 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 = 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' + ); + } + + { + 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 ); + + 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' + ); + } +} diff --git a/t/live_component_controller_action_local.t b/t/live_component_controller_action_local.t new file mode 100644 index 0000000..1d85bee --- /dev/null +++ b/t/live_component_controller_action_local.t @@ -0,0 +1,105 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 24*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + { + ok( my $response = request('http://localhost/action/local/one'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/local/one', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Local', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/local/two'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/local/two', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Local', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/local/three'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/local/three', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Local', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( + my $response = + request('http://localhost/action/local/four/five/six'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/local/four/five/six', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Local', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } +} diff --git a/t/live_component_controller_action_multipath.t b/t/live_component_controller_action_multipath.t new file mode 100644 index 0000000..faa043b --- /dev/null +++ b/t/live_component_controller_action_multipath.t @@ -0,0 +1,71 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +my $content = q/foo +bar +baz +/; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 16*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + # Local + { + ok( + my $response = + request('http://localhost/action/multipath/multipath'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content, $content, 'Content is a stream' ); + } + + # Global + { + ok( my $response = request('http://localhost/multipath'), 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content, $content, 'Content is a stream' ); + } + + # Path('/multipath1') + { + ok( my $response = request('http://localhost/multipath1'), 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content, $content, 'Content is a stream' ); + } + + # Path('multipath2') + { + ok( + my $response = + request('http://localhost/action/multipath/multipath2'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content, $content, 'Content is a stream' ); + } +} diff --git a/t/live_component_controller_action_path.t b/t/live_component_controller_action_path.t new file mode 100644 index 0000000..24aeffe --- /dev/null +++ b/t/live_component_controller_action_path.t @@ -0,0 +1,127 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 30*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + { + ok( + my $response = + request('http://localhost/action/path/a path with spaces'), + 'Request' + ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Catalyst-Action'), + 'action/path/a path with spaces', + 'Test Action' + ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Path', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/path/åäö'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/path/åäö', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Path', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/path/'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/path', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Path', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/path/spaces_near_parens_singleq'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/path/spaces_near_parens_singleq', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Path', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/path/spaces_near_parens_doubleq'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + 'action/path/spaces_near_parens_doubleq', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Path', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } +} diff --git a/t/live_component_controller_action_private.t b/t/live_component_controller_action_private.t new file mode 100644 index 0000000..6ca0580 --- /dev/null +++ b/t/live_component_controller_action_private.t @@ -0,0 +1,89 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 24*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + { + ok( my $response = request('http://localhost/action/private/one'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Private', + 'Test Class' + ); + is( $response->content, 'access denied', 'Access' ); + } + + { + ok( my $response = request('http://localhost/action/private/two'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Private', + 'Test Class' + ); + is( $response->content, 'access denied', 'Access' ); + } + + { + ok( my $response = request('http://localhost/three'), 'Request' ); + ok( $response->is_error, 'Response Server Error 5xx' ); + is( $response->content_type, 'text/html', 'Response Content-Type' ); + like( + $response->header('X-Catalyst-Error'), + qr/^Unknown resource "three"/, + 'Catalyst Error' + ); + } + + { + ok( my $response = request('http://localhost/action/private/four'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Private', + 'Test Class' + ); + is( $response->content, 'access denied', 'Access' ); + } + + { + ok( my $response = request('http://localhost/action/private/five'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Private', + 'Test Class' + ); + is( $response->content, 'access denied', 'Access' ); + } +} diff --git a/t/live_component_controller_action_regexp.t b/t/live_component_controller_action_regexp.t new file mode 100644 index 0000000..f67d0f9 --- /dev/null +++ b/t/live_component_controller_action_regexp.t @@ -0,0 +1,64 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 12*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + { + ok( my $response = request('http://localhost/action/regexp/10/hello'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + '^action/regexp/(\d+)/(\w+)$', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Regexp', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } + + { + ok( my $response = request('http://localhost/action/regexp/hello/10'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->header('X-Catalyst-Action'), + '^action/regexp/(\w+)/(\d+)$', 'Test Action' ); + is( + $response->header('X-Test-Class'), + 'TestApp::Controller::Action::Regexp', + 'Test Class' + ); + like( + $response->content, + qr/^bless\( .* 'Catalyst::Request' \)$/s, + 'Content is a serialized Catalyst::Request' + ); + } +} diff --git a/t/live_component_controller_action_streaming.t b/t/live_component_controller_action_streaming.t new file mode 100644 index 0000000..c7e1c79 --- /dev/null +++ b/t/live_component_controller_action_streaming.t @@ -0,0 +1,60 @@ +#!perl + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../../../lib"; + +our $iters; + +BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } + +use Test::More tests => 8*$iters; +use Catalyst::Test 'TestApp'; + +if ( $ENV{CAT_BENCHMARK} ) { + require Benchmark; + Benchmark::timethis( $iters, \&run_tests ); +} +else { + for ( 1 .. $iters ) { + run_tests(); + } +} + +sub run_tests { + # test direct streaming + { + ok( my $response = request('http://localhost/streaming'), 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content,, <<'EOF', 'Content is a stream' ); +foo +bar +baz +EOF + } + + # test streaming by passing a handle to $c->res->body + SKIP: + { + if ( $ENV{CATALYST_SERVER} ) { + skip "Using remote server", 4; + } + + my $file = "$FindBin::Bin/../../../../01use.t"; + my $fh = IO::File->new( $file, 'r' ); + my $buffer; + if ( defined $fh ) { + $fh->read( $buffer, 1024 ); + $fh->close; + } + + ok( my $response = request('http://localhost/action/streaming/body'), + 'Request' ); + ok( $response->is_success, 'Response Successful 2xx' ); + is( $response->content_type, 'text/plain', 'Response Content-Type' ); + is( $response->content, $buffer, 'Content is read from filehandle' ); + } +} diff --git a/t/live/engine/request/body.t b/t/live_engine_body.t similarity index 100% rename from t/live/engine/request/body.t rename to t/live_engine_body.t diff --git a/t/live/engine/request/cookies.t b/t/live_engine_cookies.t similarity index 100% rename from t/live/engine/request/cookies.t rename to t/live_engine_cookies.t diff --git a/t/live/engine/request/headers.t b/t/live_engine_headers.t similarity index 100% rename from t/live/engine/request/headers.t rename to t/live_engine_headers.t diff --git a/t/live/engine/request/parameters.t b/t/live_engine_parameters.t similarity index 100% rename from t/live/engine/request/parameters.t rename to t/live_engine_parameters.t diff --git a/t/live/engine/response/cookies.t b/t/live_engine_reponse_cookies.t similarity index 100% rename from t/live/engine/response/cookies.t rename to t/live_engine_reponse_cookies.t diff --git a/t/live/engine/response/errors.t b/t/live_engine_reponse_errors.t similarity index 100% rename from t/live/engine/response/errors.t rename to t/live_engine_reponse_errors.t diff --git a/t/live/engine/response/headers.t b/t/live_engine_reponse_headers.t similarity index 100% rename from t/live/engine/response/headers.t rename to t/live_engine_reponse_headers.t diff --git a/t/live/engine/response/large.t b/t/live_engine_reponse_large.t similarity index 100% rename from t/live/engine/response/large.t rename to t/live_engine_reponse_large.t diff --git a/t/live/engine/response/redirect.t b/t/live_engine_reponse_redirect.t similarity index 100% rename from t/live/engine/response/redirect.t rename to t/live_engine_reponse_redirect.t diff --git a/t/live/engine/response/status.t b/t/live_engine_reponse_status.t similarity index 100% rename from t/live/engine/response/status.t rename to t/live_engine_reponse_status.t diff --git a/t/live/engine/setup/basics.t b/t/live_engine_setup_basics.t similarity index 100% rename from t/live/engine/setup/basics.t rename to t/live_engine_setup_basics.t diff --git a/t/live/engine/setup/plugins.t b/t/live_engine_setup_plugins.t similarity index 100% rename from t/live/engine/setup/plugins.t rename to t/live_engine_setup_plugins.t diff --git a/t/live/engine/request/uploads.t b/t/live_engine_uploads.t similarity index 100% rename from t/live/engine/request/uploads.t rename to t/live_engine_uploads.t diff --git a/t/live/engine/request/uri.t b/t/live_engine_uri.t similarity index 100% rename from t/live/engine/request/uri.t rename to t/live_engine_uri.t diff --git a/t/live/plugin/loaded.t b/t/live_plugin_loaded.t similarity index 100% rename from t/live/plugin/loaded.t rename to t/live_plugin_loaded.t diff --git a/t/optional_apache-cgi.pl b/t/optional_apache-cgi.pl index a6cf881..2191a34 100755 --- a/t/optional_apache-cgi.pl +++ b/t/optional_apache-cgi.pl @@ -4,7 +4,7 @@ # # Note, to get this to run properly, you may need to give it the path to your # httpd.conf: -# +# # perl t/optional/apache-cgi.pl -httpd_conf /etc/apache/httpd.conf use strict; @@ -19,14 +19,14 @@ use FindBin; use IO::Socket; # clean up -rmtree "$FindBin::Bin/../../t/tmp" if -d "$FindBin::Bin/../../t/tmp"; +rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; # create a TestApp and copy the test libs into it -mkdir "$FindBin::Bin/../../t/tmp"; -chdir "$FindBin::Bin/../../t/tmp"; -system "$FindBin::Bin/../../script/catalyst.pl TestApp"; -chdir "$FindBin::Bin/../.."; -File::Copy::Recursive::dircopy( 't/live/lib', 't/tmp/TestApp/lib' ); +mkdir "$FindBin::Bin/../t/tmp"; +chdir "$FindBin::Bin/../t/tmp"; +system "$FindBin::Bin/../script/catalyst.pl TestApp"; +chdir "$FindBin::Bin/.."; +File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' ); # remove TestApp's tests so Apache::Test doesn't try to run them rmtree 't/tmp/TestApp/t'; @@ -37,8 +37,8 @@ Apache::TestRun->new->run(@ARGV); # clean up if the server has shut down # this allows the test files to stay around if the user ran -start-httpd -if ( ! check_port( 'localhost', 8529 ) ) { - rmtree "$FindBin::Bin/../../t/tmp" if -d "$FindBin::Bin/../../t/tmp"; +if ( !check_port( 'localhost', 8529 ) ) { + rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; } sub check_port { diff --git a/t/optional_apache-fastcgi.pl b/t/optional_apache-fastcgi.pl index ec7e77e..759febd 100755 --- a/t/optional_apache-fastcgi.pl +++ b/t/optional_apache-fastcgi.pl @@ -4,7 +4,7 @@ # # Note, to get this to run properly, you may need to give it the path to your # httpd.conf: -# +# # perl t/optional/apache-fastcgi.pl -httpd_conf /etc/apache/httpd.conf use strict; @@ -19,14 +19,14 @@ use FindBin; use IO::Socket; # clean up -rmtree "$FindBin::Bin/../../t/tmp" if -d "$FindBin::Bin/../../t/tmp"; +rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; # create a TestApp and copy the test libs into it -mkdir "$FindBin::Bin/../../t/tmp"; -chdir "$FindBin::Bin/../../t/tmp"; -system "$FindBin::Bin/../../script/catalyst.pl TestApp"; -chdir "$FindBin::Bin/../.."; -File::Copy::Recursive::dircopy( 't/live/lib', 't/tmp/TestApp/lib' ); +mkdir "$FindBin::Bin/../t/tmp"; +chdir "$FindBin::Bin/../t/tmp"; +system "$FindBin::Bin/../script/catalyst.pl TestApp"; +chdir "$FindBin::Bin/.."; +File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' ); # remove TestApp's tests so Apache::Test doesn't try to run them rmtree 't/tmp/TestApp/t'; @@ -37,8 +37,8 @@ Apache::TestRun->new->run(@ARGV); # clean up if the server has shut down # this allows the test files to stay around if the user ran -start-httpd -if ( ! check_port( 'localhost', 8529 ) ) { - rmtree "$FindBin::Bin/../../t/tmp" if -d "$FindBin::Bin/../../t/tmp"; +if ( !check_port( 'localhost', 8529 ) ) { + rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; } sub check_port {