stas        2003/11/07 00:51:57

  Added:       t/modules cgipost.t
               t/response/TestModules cgipost.pm
  Log:
  - a new cgipost test (testing non-multipart POST via CGI.pm)
  Submitted by: Geoffrey Young
  
  Revision  Changes    Path
  1.1                  modperl-2.0/t/modules/cgipost.t
  
  Index: cgipost.t
  ===================================================================
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestRequest qw(POST_BODY_ASSERT);
  
  my $module = 'TestModules::cgipost';
  my $url = '/' . Apache::TestRequest::module2path($module);
  
  my @data = (25, 50, 75, 100, 125, 150);
  
  plan tests => scalar(@data), have_min_module_version(CGI => 2.93);
  
  foreach my $post (@data) {
      my %param = ();
  
      foreach my $key (1 .. $post) {
        $param{$key} = 'data' x $key;
      }
  
      my $post_data = join '&', map { "$_=$param{$_}" }
                                sort { $a <=> $b } keys %param;
      my $expected  = join ':', map { $param{$_}      }
                                sort { $a <=> $b } keys %param;
  
      my $e_length = length $expected;
  
      my $received = POST_BODY_ASSERT $url, content => $post_data;
  
      my $r_length = length $received;
  
      t_debug "expected $e_length bytes, received $r_length bytes\n";
      ok ($expected eq $received);
  }
  
  
  
  
  1.1                  modperl-2.0/t/response/TestModules/cgipost.pm
  
  Index: cgipost.pm
  ===================================================================
  package TestModules::cgipost;
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::compat ();
  use CGI ();
  
  use Apache::Const -compile => 'OK';
  
  sub handler {
      my $r = shift;
  
      $r->content_type('text/plain');
      my $cgi = CGI->new;
  
      print join ":", map { $cgi->param($_) } $cgi->param;
  
      Apache::OK;
  }
  
  1;
  __END__
  SetHandler perl-script
  PerlOptions +GlobalRequest
  
  
  

Reply via email to