geoff       2003/08/12 13:34:22

  Modified:    ModPerl-Registry/t redirect.t
  Added:       ModPerl-Registry/t/cgi-bin redirect-cookie.pl
  Log:
  add set-cookie on redirect test
  it also tests $r->status setting/Registry return code ignoring
  Submitted by: geoff
  
  Revision  Changes    Path
  1.4       +24 -1     modperl-2.0/ModPerl-Registry/t/redirect.t
  
  Index: redirect.t
  ===================================================================
  RCS file: /home/cvs//modperl-2.0/ModPerl-Registry/t/redirect.t,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- redirect.t        6 Jun 2003 01:29:58 -0000       1.3
  +++ redirect.t        12 Aug 2003 20:34:22 -0000      1.4
  @@ -5,7 +5,7 @@
   use Apache::TestUtil;
   use Apache::TestRequest qw(GET_BODY HEAD);
   
  -plan tests => 2, have_lwp;
  +plan tests => 4, have_lwp;
   
   # need LWP to handle redirects
   
  @@ -32,3 +32,26 @@
           "test redirect: non-existing target",
          );
   }
  +
  +$base_url = "/registry/redirect-cookie.pl";
  +{
  +    local $Apache::TestRequest::RedirectOK = 0;
  +
  +    my $redirect_path = "/registry/basic.pl";
  +    my $url = "$base_url?$redirect_path";
  +
  +    my $response = HEAD $url;
  +
  +    ok t_cmp(
  +        302,
  +        $response->code,
  +        "test Registry style redirect: status",
  +       );
  +
  +    ok t_cmp(
  +        "mod_perl=ubercool; path=/",
  +        $response->header('Set-Cookie'),
  +        "test Registry style redirect: cookie",
  +       );
  +}
  +
  
  
  
  1.1                  modperl-2.0/ModPerl-Registry/t/cgi-bin/redirect-cookie.pl
  
  Index: redirect-cookie.pl
  ===================================================================
  # test env vars
  
  use Apache::URI ();
  use Apache::Const -compile => qw(REDIRECT SERVER_ERROR);
  
  my $r = shift;
  my $path = $r->args || '';
  $server = $r->construct_server;
  
  $r->err_headers_out->set('Set-Cookie' => "mod_perl=ubercool; path=/");
  $r->headers_out->set(Location => " http://$server$path";);
  $r->status(Apache::REDIRECT);
  
  # exit status is completely ignored in Registry
  # due to $r->status hacking
  return Apache::SERVER_ERROR;
  
  __END__
  
  
  

Reply via email to