blob: 534da3b6806897e4d66461119a97f4cb79e5ccbd [file] [log] [blame]
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
use strict;
use warnings FATAL => 'all';
# testing $r->status/status_line
use Apache::Test;
use Apache::TestUtil;
use Apache::TestRequest;
plan tests => 6;
my $location = "/TestAPI__status";
{
# test a valid HTTP/1.1 status code (303). In this test
# the handler returns OK, but sets a custom status. Apache will
# lookup the message "See Other" on its own
my $code = 303; # Apache2::Const::HTTP_SEE_OTHER
my $message = "See Other";
my $res = GET "$location?$code=";
ok t_cmp $res->code, $code, "code";
ok t_cmp $res->message, $message, "code message";
ok t_cmp $res->content, "", "content";
}
{
# test a non-existing HTTP/1.1 status code (499). In this test
# the handler returns OK, but sets a custom status_line.
# it also tries to set status (to a different value), but it
# should be ignored by Apache, since status_line is supposed to
# override status. the handler also sets a custom code message
# modules/http/http_filters.c r372958
# httpd 'zaps' the status_line if it doesn't match the status
# as of 2.2.1 (not released) so 2.2.2 (released)
my $code = 499; # not in HTTP/1.1
my $message = "FooBared";
my $res = GET "$location?$code=$message";
ok t_cmp $res->code, $code, "code";
ok t_cmp $res->message, $message, "code message";
ok t_cmp $res->content, "", "content";
}