stas 2004/07/23 18:08:14
Modified: t/api err_headers_out.t
t/response/TestAPI err_headers_out.pm
Log:
test the 2xx response as well
Revision Changes Path
1.2 +30 -7 modperl-2.0/t/api/err_headers_out.t
Index: err_headers_out.t
===================================================================
RCS file: /home/cvs/modperl-2.0/t/api/err_headers_out.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- err_headers_out.t 24 Jul 2004 00:54:01 -0000 1.1
+++ err_headers_out.t 24 Jul 2004 01:08:14 -0000 1.2
@@ -5,17 +5,40 @@
use Apache::TestRequest;
use Apache::TestUtil;
-plan tests => 3;
+plan tests => 6;
my $location = '/TestAPI__err_headers_out';
-my $res = GET $location;
+{
+ # with 2xx responses any of the err_headers_out and headers_out
+ # headers make it through
-#t_debug $res->as_string;
+ my $res = GET "$location?200";
-ok t_cmp $res->code, 404, "not found";
+ #t_debug $res->as_string;
-ok t_cmp $res->header('X-Survivor'), "err_headers_out",
- "X-Survivor: made it";
+ ok t_cmp $res->code, 200, "OK";
+
+ ok t_cmp $res->header('X-err_headers_out'), "err_headers_out",
+ "X-err_headers_out: made it";
+
+ ok t_cmp $res->header('X-headers_out'), "headers_out",
+ "X-headers_out: made it";
+}
+
+{
+ # with non-2xx responses only the err_headers_out headers make it
+ # through. the headers_out do not make it.
+
+ my $res = GET "$location?404";
+
+ #t_debug $res->as_string;
+
+ ok t_cmp $res->code, 404, "not found";
+
+ ok t_cmp $res->header('X-err_headers_out'), "err_headers_out",
+ "X-err_headers_out: made it";
+
+ ok !$res->header('X-headers_out');
+}
-ok !$res->header('X-Goner');
1.2 +5 -5 modperl-2.0/t/response/TestAPI/err_headers_out.pm
Index: err_headers_out.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/err_headers_out.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- err_headers_out.pm 24 Jul 2004 00:54:02 -0000 1.1
+++ err_headers_out.pm 24 Jul 2004 01:08:14 -0000 1.2
@@ -17,13 +17,13 @@
sub handler {
my $r = shift;
- # this header will make it
- $r->err_headers_out->add('X-Survivor' => "err_headers_out");
+ # this header will always make it to the client
+ $r->err_headers_out->add('X-err_headers_out' => "err_headers_out");
- # this header won't make it
- $r->headers_out->add('X-Goner' => "headers_out");
+ # this header will make it to the client only on 2xx response
+ $r->headers_out->add('X-headers_out' => "headers_out");
- return Apache::NOT_FOUND;
+ return $r->args eq "404" ? Apache::NOT_FOUND : Apache::OK;
}
1;