Mercurial > hg > nginx-tests
annotate ssi.t @ 573:517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Time zone name format is implementation defined, and, e.g., on win32
it may contain spaces, such as "Pacific Standard Time" for PST.
While here, catch this in headers as well.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 13 May 2015 16:57:45 +0300 |
parents | 907e89fba9c3 |
children | 2cd00179f4b2 |
rev | line source |
---|---|
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for nginx ssi module. |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 use lib 'lib'; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 use Test::Nginx; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
223
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
24 plan(skip_all => 'win32') if $^O eq 'MSWin32'; |
f9325406df0b
Tests: skip tests not appropriate for win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
25 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http ssi cache proxy rewrite/)->plan(28); |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 $t->write_file_expand('nginx.conf', <<'EOF'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
107
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
30 %%TEST_GLOBALS%% |
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
31 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
224
diff
changeset
|
32 daemon off; |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 events { |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 http { |
107
1c0ec30614c6
Tests: add TEST_GLOBALS and TEST_GLOBALS_HTTP config chunks.
Maxim Dounin <mdounin@mdounin.ru>
parents:
106
diff
changeset
|
38 %%TEST_GLOBALS_HTTP%% |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
40 proxy_cache_path %%TESTDIR%%/cache levels=1:2 |
503
071e8941e3bf
Tests: reduce shared memory zone sizes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
502
diff
changeset
|
41 keys_zone=NAME:1m; |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
42 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 server { |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 listen 127.0.0.1:8080; |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 server_name localhost; |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
46 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
47 if ($args = "found") { |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
48 return 204; |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
49 } |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
50 |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
51 location / { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
52 ssi on; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
53 } |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
54 location /proxy/ { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
55 ssi on; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
56 proxy_pass http://127.0.0.1:8080/local/; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
57 } |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
58 location /cache/ { |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
59 proxy_pass http://127.0.0.1:8080/local/; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
60 proxy_cache NAME; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
61 proxy_cache_valid 200 1h; |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
62 } |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
63 location /local/ { |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
64 ssi off; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
65 alias %%TESTDIR%%/; |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
66 } |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
67 location = /test-empty-postpone.html { |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
68 ssi on; |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
69 postpone_output 0; |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
70 } |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
71 location /var { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
72 ssi on; |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
73 add_header X-Var x${date_gmt}x; |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
74 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
75 location /var_noformat { |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
76 ssi on; |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
77 add_header X-Var x${date_gmt}x; |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
78 return 200; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
79 } |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
80 location /var_nossi { |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
81 add_header X-Var x${date_gmt}x; |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
82 return 200; |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
83 } |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
84 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
85 } |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
86 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
87 EOF |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 $t->write_file('test1.html', 'X<!--#echo var="arg_test" -->X'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 $t->write_file('test2.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 'X<!--#include virtual="/test1.html?test=test" -->X'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 $t->write_file('test3.html', |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 'X<!--#set var="blah" value="test" --><!--#echo var="blah" -->X'); |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
94 $t->write_file('test-args-rewrite.html', |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
95 'X<!--#include virtual="/check?found" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
96 $t->write_file('test-empty1.html', 'X<!--#include virtual="/empty.html" -->X'); |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
97 $t->write_file('test-empty2.html', |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
98 'X<!--#include virtual="/local/empty.html" -->X'); |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
99 $t->write_file('test-empty3.html', |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
100 'X<!--#include virtual="/cache/empty.html" -->X'); |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
101 $t->write_file('test-empty-postpone.html', |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
102 'X<!--#include virtual="/proxy/empty.html" -->X'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
103 $t->write_file('empty.html', ''); |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
105 $t->write_file('unescape.html?', 'SEE-THIS'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
106 $t->write_file('unescape1.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
107 'X<!--#include virtual="/tes%741.html?test=test" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
108 $t->write_file('unescape2.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
109 'X<!--#include virtual="/unescape.html%3f" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
110 $t->write_file('unescape3.html', |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
111 'X<!--#include virtual="/test1.html%3ftest=test" -->X'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
112 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
113 $t->write_file('var_format.html', |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
114 'x<!--#if expr="$arg_custom" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
115 . '<!--#config timefmt="%A, %H:%M:%S" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
116 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
117 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
118 . '<!--#else -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
119 . '<!--#set var="v" value="$date_gmt" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
120 . '<!--#echo var="v" -->' |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
121 . '<!--#endif -->x'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
122 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 $t->run(); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 ############################################################################### |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 like(http_get('/test1.html'), qr/^X\(none\)X$/m, 'echo no argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 like(http_get('/test1.html?test='), qr/^XX$/m, 'empty argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 like(http_get('/test1.html?test=test'), qr/^XtestX$/m, 'argument'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 like(http_get('/test1.html?test=test&a=b'), qr/^XtestX$/m, 'argument 2'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 like(http_get('/test1.html?a=b&test=test'), qr/^XtestX$/m, 'argument 3'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 like(http_get('/test1.html?a=b&test=test&d=c'), qr/^XtestX$/m, 'argument 4'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 like(http_get('/test1.html?atest=a&testb=b&ctestc=c&test=test'), qr/^XtestX$/m, |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 'argument 5'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 like(http_get('/test2.html'), qr/^XXtestXX$/m, 'argument via include'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 like(http_get('/test3.html'), qr/^XtestX$/m, 'set'); |
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
139 |
129
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
140 # args should be in subrequest even if original request has no args and that |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
141 # was queried somehow (e.g. by server rewrites) |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
142 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
143 like(http_get('/test-args-rewrite.html'), qr/^XX$/m, 'args only subrequest'); |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
144 |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
145 like(http_get('/test-args-rewrite.html?wasargs'), qr/^XX$/m, |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
146 'args was in main request'); |
adbf104668b6
Tests: add test for $args in subrequest only.
Maxim Dounin <mdounin@mdounin.ru>
parents:
121
diff
changeset
|
147 |
91
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
148 # Last-Modified and Accept-Ranges headers should be cleared |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
149 |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
150 unlike(http_get('/test1.html'), qr/Last-Modified|Accept-Ranges/im, |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
151 'cleared headers'); |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
152 unlike(http_get('/proxy/test1.html'), qr/Last-Modified|Accept-Ranges/im, |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
153 'cleared headers from proxy'); |
ec89d4d65bef
Tests: Last-Modified and Accept-Ranges should be cleared on ssi.
Maxim Dounin <mdounin@mdounin.ru>
parents:
73
diff
changeset
|
154 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
155 # empty subrequests |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
156 |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
157 like(http_get('/test-empty1.html'), qr/HTTP/, 'empty with ssi'); |
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
158 like(http_get('/test-empty2.html'), qr/HTTP/, 'empty without ssi'); |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
159 like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy'); |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
160 like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy cached'); |
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
161 |
502
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
162 like(http_get('/test-empty-postpone.html'), qr/HTTP.*XX/ms, |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
163 'empty with postpone_output 0'); |
134ea15d7473
Tests: SSI test with "postpone_output 0" (ticket #132).
Maxim Dounin <mdounin@mdounin.ru>
parents:
397
diff
changeset
|
164 |
367
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
165 # handling of escaped URIs |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
166 |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
167 like(http_get('/unescape1.html'), qr/^XXtestXX$/m, 'escaped in path'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
168 like(http_get('/unescape2.html'), qr/^XSEE-THISX$/m, |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
169 'escaped question in path'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
170 like(http_get('/unescape3.html'), qr/404 Not Found/, |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
171 'escaped query separator'); |
0726521e42f3
Tests: added tests for escaped and unsafe URIs.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
172 |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
173 # handling of embedded date variables |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
174 |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
175 my $re_date_gmt = qr/X-Var: x\w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d [\w ]+x/; |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
176 |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
177 like(http_get('/var_nossi.html'), $re_date_gmt, 'no ssi'); |
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
178 like(http_get('/var_noformat.html'), $re_date_gmt, 'no format'); |
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
179 |
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
180 like(http_get('/var_format.html?custom=1'), $re_date_gmt, 'custom header'); |
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
181 like(http_get('/var_format.html'), $re_date_gmt, 'default header'); |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
182 |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
183 like(http_get('/var_format.html?custom=1'), |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
184 qr/x\w+, \d\d:\d\d:\d\dx/, 'custom ssi'); |
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
185 like(http_get('/var_format.html'), |
573
517cde5075d8
Tests: improved time zone name checks for $date_gmt in ssi.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
186 qr/x\w+, \d\d-\w{3}-\d{4} \d\d:\d\d:\d\d [\w ]+x/, 'default ssi'); |
369
4ac3588485f5
Tests: added tests for embedded ssi variable.
Sergey Kandaurov <pluknet@nginx.com>
parents:
367
diff
changeset
|
187 |
105
bb5b5e69b45e
Tests: empty cached subrequests shouldn't cause alerts.
Maxim Dounin <mdounin@mdounin.ru>
parents:
102
diff
changeset
|
188 like(`grep -F '[alert]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no alerts'); |
102
9f723d3ba52d
Tests: tests for empty static subrequests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
98
diff
changeset
|
189 |
73
c8ba98ad0570
Tests: some very basic ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
190 ############################################################################### |