Mercurial > hg > nginx-tests
annotate autoindex_format.t @ 554:4cc65166509e
Tests: removed superfluous try_run() check.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 22 Apr 2015 14:38:24 +0300 |
parents | 7fa91726cc7d |
children | 907e89fba9c3 |
rev | line source |
---|---|
518
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Sergey Kandaurov |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 # (C) Nginx, Inc. |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 # Tests for autoindex module with autoindex_format directive. |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 ############################################################################### |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use warnings; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 use strict; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 use Test::More; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use lib 'lib'; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
534
7fa91726cc7d
Tests: skipped autoindex_format.t on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents:
518
diff
changeset
|
26 plan(skip_all => 'no symlinks on win32') if $^O eq 'MSWin32'; |
7fa91726cc7d
Tests: skipped autoindex_format.t on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents:
518
diff
changeset
|
27 |
518
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 my $t = Test::Nginx->new()->has(qw/http autoindex/) |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 ->write_file_expand('nginx.conf', <<'EOF'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 %%TEST_GLOBALS%% |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 daemon off; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 events { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 http { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 %%TEST_GLOBALS_HTTP%% |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 server { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 listen 127.0.0.1:8080; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 server_name localhost; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 autoindex on; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 location /xml/ { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 autoindex_format xml; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 alias %%TESTDIR%%/; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 location /json/ { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 autoindex_format json; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 alias %%TESTDIR%%/; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 location /jsonp/ { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 autoindex_format jsonp; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 alias %%TESTDIR%%/; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 EOF |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 my $d = $t->testdir(); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 mkdir("$d/test-dir"); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 symlink("$d/test-dir", "$d/test-dir-link"); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 $t->write_file('test-file', 'x' x 42); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 symlink("$d/test-file", "$d/test-file-link"); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 $t->write_file('test-\'-quote', ''); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 $t->write_file('test-"-double', ''); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 $t->write_file('test-<>-angle', ''); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 mkdir($d . '/utf8'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 $t->write_file('utf8/test-utf8-' . ("\xd1\x84" x 3), ''); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
78 $t->write_file('utf8/test-utf8-' . ("\xd1\x84" x 45), ''); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
80 $t->try_run('no autoindex_format')->plan(37); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 ############################################################################### |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 my ($r, $mtime, $data); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
86 $r = http_get('/xml/'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 $mtime = qr/mtime="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ"/; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
88 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
89 like($r, qr!Content-Type: text/xml; charset=utf-8!, 'xml content type'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
90 like($r, qr!<file(\s+\w+="[^=]*?")+\s*>test-file</file>!, |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 'xml file format'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
92 like($r, qr!<directory(\s+\w+="[^=]*?")+\s*>test-dir</directory>!, |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
93 'xml dir format'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
94 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 ($data) = $r =~ qr!<file\s+(.*?)>test-file</file>!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 like($data, $mtime, 'xml file mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
97 like($data, qr!size="42"!, 'xml file size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
99 ($data) = $r =~ qr!<file\s+(.*?)>test-file-link</file>!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 like($data, $mtime, 'xml file link mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 like($data, qr!size="42"!, 'xml file link size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 ($data) = $r =~ qr!<directory\s+(.*?)>test-dir</directory>!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
104 like($data, $mtime, 'xml dir mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
105 unlike($data, qr!size="\d+"!, 'xml dir size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
106 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
107 ($data) = $r =~ qr!<directory\s+(.*?)>test-dir-link</directory>!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
108 like($data, $mtime, 'xml dir link mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
109 unlike($data, qr!size="\d+"!, 'xml dir link size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
110 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
111 like($r, qr!<file.*?>test-\'-quote</file>!, 'xml quote'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
112 like($r, qr!<file.*?>test-\"-double</file>!, 'xml double'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
113 like($r, qr!<file.*?>test-<>-angle</file>!, 'xml angle'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
114 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
115 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
116 $r = http_get('/json/'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
117 $mtime = qr/"mtime"\s*:\s*"\w{3}, \d\d \w{3} \d{4} \d\d:\d\d:\d\d \w{3}"/; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
118 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
119 my $string = qr!"(?:[^\\"]+|\\["\\/bfnrt])*"!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
120 my $number = qr!-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][-+]?\d+)?!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
121 my $kv = qr!\s*$string\s*:\s*($string|$number)\s*!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
122 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
123 like($r, qr!Content-Type: application/json!, 'json content type'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
124 like($r, qr!{$kv(,$kv)*}!, 'json format'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
125 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
126 ($data) = $r =~ qr!({[^}]*?"name"\s*:\s*"test-file".*?})!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
127 like($data, qr!"type"\s*:\s*"file"!, 'json file'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
128 like($data, $mtime, 'json file mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
129 like($data, qr!"size"\s*:\s*42!, 'json file size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
130 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
131 ($data) = $r =~ qr!({[^}]*?"name"\s*:\s*"test-file-link".*?})!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
132 like($data, qr!"type"\s*:\s*"file"!, 'json file link'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
133 like($data, $mtime, 'json file link mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
134 like($data, qr!"size"\s*:\s*42!, 'json file link size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
135 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
136 ($data) = $r =~ qr!({[^}]*?"name"\s*:\s*"test-dir".*?})!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
137 like($data, qr!"type"\s*:\s*"directory"!, 'json dir'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
138 like($data, $mtime, 'json dir mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
139 unlike($data, qr!"size"\s*:\s*$number!, 'json dir size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
140 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
141 ($data) = $r =~ qr!({[^}]*?"name"\s*:\s*"test-dir-link".*?})!; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
142 like($data, qr!"type"\s*:\s*"directory"!, 'json dir link'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
143 like($data, $mtime, 'json dir link mtime'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
144 unlike($data, qr!"size"\s*:\s*$number!, 'json dir link size'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
145 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
146 like($r, qr!"name"\s*:\s*"test-'-quote"!, 'json quote'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
147 like($r, qr!"name"\s*:\s*"test-\\\"-double"!, 'json double'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
148 like($r, qr!"name"\s*:\s*"test-<>-angle"!, 'json angle'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
149 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
150 like(http_get_body('/jsonp/test-dir/?callback=foo'), |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
151 qr/^\s*foo\s*\(\s*\[\s*\]\s*\)\s*;\s*$/ms, 'jsonp callback'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
152 like(http_get_body('/jsonp/test-dir/?callback='), |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
153 qr/^\s*\[\s*\s*\]\s*$/ms, 'jsonp callback empty'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
154 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
155 # utf8 tests |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
156 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
157 $r = http_get('/xml/utf8/'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
158 like($r, qr!test-utf8-(\xd1\x84){3}</file>!ms, 'xml utf8'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
159 like($r, qr!test-utf8-(\xd1\x84){45}</file>!ms, 'xml utf8 long'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
160 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
161 $r = http_get('/json/utf8/'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
162 like($r, qr!test-utf8-(\xd1\x84){3}"!ms, 'json utf8'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
163 like($r, qr!test-utf8-(\xd1\x84){45}"!ms, 'json utf8 long'); |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
164 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
165 ############################################################################### |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
166 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
167 sub http_get_body { |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
168 my ($uri) = @_; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
169 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
170 return undef if !defined $uri; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
171 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
172 http_get($uri) =~ /(.*?)\x0d\x0a?\x0d\x0a?(.*)/ms; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
173 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
174 return $2; |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
175 } |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
176 |
9edb609a2642
Tests: autoindex module tests with autoindex_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
177 ############################################################################### |