76 lines
2.6 KiB
Perl
76 lines
2.6 KiB
Perl
use strict;
|
|
use warnings FATAL => 'all';
|
|
|
|
use Apache::Test;
|
|
use Apache::TestRequest;
|
|
use Apache::TestUtil;
|
|
|
|
#
|
|
# Test <If > section merging
|
|
#
|
|
|
|
plan tests => (have_min_apache_version('2.4.26') ? 23 : 11) * 2,
|
|
need need_lwp,
|
|
need_module('mod_headers'),
|
|
need_module('mod_proxy'),
|
|
need_module('mod_proxy_http'),
|
|
need_min_apache_version('2.3.8');
|
|
|
|
|
|
sub do_test
|
|
{
|
|
my $url = shift;
|
|
my $set = shift;
|
|
my $expect = shift;
|
|
|
|
$url = "/if_sec$url";
|
|
|
|
my @headers_to_set = split(/\s+/, $set);
|
|
my @headers = map { ("In-If$_" => 1) } @headers_to_set;
|
|
|
|
my $response = GET($url, @headers);
|
|
print "# $url with '$set':\n";
|
|
ok t_cmp($response->code, 200);
|
|
ok t_cmp($response->header("Out-Trace"), $expect);
|
|
}
|
|
|
|
do_test('/', '', undef);
|
|
do_test('/foo.if_test', '', undef);
|
|
do_test('/foo.if_test', '1', 'global1');
|
|
|
|
if (have_min_apache_version('2.4.26')) {
|
|
do_test('/foo.if_test', '1 11', 'global1, nested11, nested113');
|
|
do_test('/foo.if_test', '1 11 111', 'global1, nested11, nested111');
|
|
do_test('/foo.if_test', '1 11 112', 'global1, nested11, nested112');
|
|
}
|
|
|
|
do_test('/foo.if_test', '1 2', 'global1, files2');
|
|
do_test('/dir/foo.txt', '1 2', 'global1, dir1, dir2, dir_files1');
|
|
do_test('/dir/', '1 2', 'global1, dir1, dir2');
|
|
|
|
if (have_min_apache_version('2.4.26')) {
|
|
do_test('/dir/', '1 11', 'global1, dir1, nested11, nested113');
|
|
do_test('/dir/', '1 11 111', 'global1, dir1, nested11, nested111');
|
|
do_test('/dir/', '1 11 112', 'global1, dir1, nested11, nested112');
|
|
}
|
|
|
|
do_test('/loc/', '1 2', 'global1, loc1, loc2');
|
|
do_test('/loc/foo.txt', '1 2', 'global1, loc1, loc2');
|
|
|
|
if (have_min_apache_version('2.4.26')) {
|
|
do_test('/loc/', '1 11', 'global1, loc1, nested11, nested113');
|
|
do_test('/loc/', '1 11 111', 'global1, loc1, nested11, nested111');
|
|
do_test('/loc/', '1 11 112', 'global1, loc1, nested11, nested112');
|
|
}
|
|
|
|
do_test('/loc/foo.if_test', '1 2', 'global1, files2, loc1, loc2');
|
|
|
|
if (have_min_apache_version('2.4.26')) {
|
|
do_test('/loc/foo.if_test', '1 2 11', 'global1, files2, loc1, loc2, nested11, nested113');
|
|
do_test('/loc/foo.if_test', '1 2 11 111', 'global1, files2, loc1, loc2, nested11, nested111');
|
|
do_test('/loc/foo.if_test', '1 2 11 112', 'global1, files2, loc1, loc2, nested11, nested112');
|
|
}
|
|
|
|
do_test('/proxy/', '1 2', 'global1, locp1, locp2');
|
|
do_test('/proxy/', '2', 'locp2');
|
|
|