X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flive_component_controller_action_local.t;h=13f1200b962f08c7f1028e3644e25027cf62cebb;hb=cc95842fedcac58b2dc12c6ce547e22d3170351c;hp=6a5eefb0626ef84877301b2cccf76ca6b067df02;hpb=a2e038a1e9cbc0f1ea32b7087e6b47efe3af082f;p=catagits%2FCatalyst-Runtime.git diff --git a/t/live_component_controller_action_local.t b/t/live_component_controller_action_local.t index 6a5eefb..13f1200 100644 --- a/t/live_component_controller_action_local.t +++ b/t/live_component_controller_action_local.t @@ -10,7 +10,7 @@ our $iters; BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; } -use Test::More tests => 24*$iters; +use Test::More tests => 32*$iters; use Catalyst::Test 'TestApp'; if ( $ENV{CAT_BENCHMARK} ) { @@ -44,7 +44,7 @@ sub run_tests { } { - ok( my $response = request('http://localhost/action/local/two'), + ok( my $response = request('http://localhost/action/local/two/1/2'), 'Request' ); ok( $response->is_success, 'Response Successful 2xx' ); is( $response->content_type, 'text/plain', 'Response Content-Type' ); @@ -63,6 +63,12 @@ sub run_tests { } { + ok( my $response = request('http://localhost/action/local/two'), + 'Request' ); + ok( !$response->is_success, 'Request with wrong number of args failed' ); + } + + { ok( my $response = request('http://localhost/action/local/three'), 'Request' ); ok( $response->is_success, 'Response Successful 2xx' ); @@ -102,4 +108,31 @@ sub run_tests { 'Content is a serialized Catalyst::Request' ); } + + SKIP: + { + if ( $ENV{CATALYST_SERVER} ) { + skip "tests for %2F on remote server", 6; + } + + ok( + my $response = + request('http://localhost/action/local/one/foo%2Fbar'), + '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~arguments => \[\s*'foo/bar'\s*\]~, + "Parameters don't split on %2F" + ); + } }