annotate autoindex.t @ 114:44b281ac4bc6

Tests: add server name tests, including fancy regex ones. With test config nginx will fail to start as of 0.8.28 due to incorrect conversion of regular expressions to lowercase. Patch was discussed on mailing list and will be included in next release.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 30 Nov 2009 14:47:17 +0300
parents 51f3c88b2930
children 8ac1faaddd2c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for autoindex module.
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 my $t = Test::Nginx->new()->plan(4)
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 ->write_file_expand('nginx.conf', <<'EOF');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 %%TEST_GLOBALS%%
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 master_process off;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30 daemon off;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 events {
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 }
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 http {
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 server {
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 listen 127.0.0.1:8080;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 server_name localhost;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 location / {
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43 autoindex on;
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 }
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 }
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 }
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 EOF
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 my $d = $t->testdir();
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 mkdir("$d/test-dir");
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 symlink("$d/test-dir", "$d/test-dir-link");
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 $t->write_file('test-file', '');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 symlink("$d/test-file", "$d/test-file-link");
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 $t->run();
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 ###############################################################################
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 my $r = http_get('/');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64 like($r, qr!href="test-file"!ms, 'file');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 like($r, qr!href="test-file-link"!ms, 'symlink to file');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 like($r, qr!href="test-dir/"!ms, 'directory');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67 like($r, qr!href="test-dir-link/"!ms, 'symlink to directory');
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68
93a8f4202b16 Tests: add autoindex module tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 ###############################################################################