X-Git-Url: http://git.shiar.nl/gitweb.cgi/perl/plp/.git/blobdiff_plain/f68c371e4a046df0602f2e27997d311b76ea66ac..552db5b79604f6c669eb0a63069b3a5501135e9e:/t/50-cgi.t diff --git a/t/50-cgi.t b/t/50-cgi.t index f58566f..aaea969 100644 --- a/t/50-cgi.t +++ b/t/50-cgi.t @@ -5,6 +5,7 @@ use Cwd; use File::Basename qw( dirname ); use File::Spec; use Test::More; +use PLP::Functions qw( DecodeURI ); eval { require Test::LongString; @@ -23,7 +24,7 @@ eval { eval { require PerlIO::scalar }; plan skip_all => "PerlIO required (perl 5.8) to test PLP" if $@; -plan tests => 24; +plan tests => 25; require_ok('PLP::Backend::CGI') or BAIL_OUT(); @@ -55,8 +56,8 @@ sub plp_is { ); # Apache/2.2.4 CGI environment if (defined $in) { - $ENV{CONTENT_LENGTH} = length $in; - $ENV{CONTENT_TYPE} = 'application/x-www-form-urlencoded'; + $ENV{CONTENT_LENGTH} //= length $in; + $ENV{CONTENT_TYPE} //= 'application/x-www-form-urlencoded'; close STDIN; open STDIN, '<', $in; } @@ -105,6 +106,7 @@ sub plp_ok { my $infile = delete $replace{-input} // "$name.plp"; my $addin = -e "$name.txt" && "$name.txt"; $name =~ s/^(\d*)-// and $name .= " ($1)"; + DecodeURI($name); my $out = eval { local $/ = undef; # slurp @@ -174,12 +176,20 @@ SKIP: { plp_ok($_, INCWARN => $INCWARN) for @inctests; } -# 4*-7*: apache environment (default) -plp_ok($_) for glob '[4-7]*.html'; +# 4*-6*: apache environment (default) +plp_ok($_) for glob '[4-6]*.html'; #TODO: %fields #TODO: %cookie +# 7*: multipart posts +TODO: { + local $TODO = 'future feature'; + plp_ok($_, -env => { + CONTENT_TYPE => 'multipart/form-data; boundary=knip', + }) for glob '7*.html'; +} + # 8*: lighttpd environment plp_ok($_, -env => { # lighttpd/1.4.7 CGI environment