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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ###############################################################################