fix make test problem
[catagits/Catalyst-Controller-WrapCGI.git] / t / cgibin.t
index f8271fa..5430b3f 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use FindBin '$Bin';
 use lib "$Bin/lib";
 
-use Test::More tests => 4;
+use Test::More tests => 9;
 
 use Catalyst::Test 'TestCGIBin';
 use HTTP::Request::Common;
@@ -14,13 +14,31 @@ use HTTP::Request::Common;
 # this should be ignored
 $ENV{MOD_PERL} = "mod_perl/2.0";
 
-my $response = request POST '/cgi-bin/path/test.pl', [
+my $response = request POST '/my-bin/path/test.pl', [
     foo => 'bar',
     bar => 'baz'
 ];
 
 is($response->content, 'foo:bar bar:baz', 'POST to Perl CGI File');
 
+$response = request '/my-bin/path/test.pl?foo=bar&bar=baz';
+
+is($response->content, 'foo:bar bar:baz',
+    'Perl CGI File invoked with query params');
+
+$response = request POST '/my-bin/exit.pl', [
+    name => 'world',
+];
+
+is($response->content, 'hello world', 'POST to Perl CGI with exit()');
+
+$response = request POST '/my-bin/exit.pl', [
+    name => 'world',
+    exit => 17,
+];
+
+is($response->code, 500, 'POST to Perl CGI with nonzero exit()');
+
 $response = request POST '/cgihandler/dongs', [
     foo => 'bar',
     bar => 'baz'
@@ -37,9 +55,20 @@ $response = request POST '/cgihandler/mtfnpy', [
 is($response->content, 'foo:bar bar:baz',
     'POST to Perl CGI File through a forward via cgi_action');
 
+$response = request '/my-bin/path/testdata.pl';
+is($response->content, "testing\n",
+    'scripts with __DATA__ sections work');
+
+$response = request '/my-bin/pathinfo.pl/path/info';
+is($response->content, '/path/info',
+    'PATH_INFO works');
+
 SKIP: {
     skip "Can't run shell scripts on non-*nix", 1
         if $^O eq 'MSWin32' || $^O eq 'VMS';
 
-    is(get('/cgi-bin/test.sh'), "Hello!\n", 'Non-Perl CGI File');
+# for some reason the +x is not preserved in the dist
+    system "chmod +x $Bin/lib/TestCGIBin/root/cgi-bin/test.sh";
+
+    is(get('/my-bin/test.sh'), "Hello!\n", 'Non-Perl CGI File');
 }