Mercurial > hg > nginx-tests
annotate ssi_if.t @ 1932:b68471aee5ad
Tests: improved test for a stream initiating QUIC path migration.
Previously, the test mostly passed due to a push timer scheduled for an
unrelated delayed ACK, and the new path had enough data received to send
response back when the push timer fired. Otherwise, the test could fail
due to unvalidated address. Now it is fixed to perform path validation.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 21 Aug 2023 17:10:57 +0400 |
parents | 882267679006 |
children |
rev | line source |
---|---|
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
2 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
4 # (C) Valentin Bartenev |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
5 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
6 # Tests for nginx ssi module, "if" statement. |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
7 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
8 ############################################################################### |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
9 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
10 use warnings; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
11 use strict; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
12 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
13 use Test::More; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
14 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
16 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
17 use lib 'lib'; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
18 use Test::Nginx; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
19 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
20 ############################################################################### |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
21 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
22 select STDERR; $| = 1; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
23 select STDOUT; $| = 1; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
24 |
593
6c0a5903d0ae
Tests: cleanup now duplicating tests for no alerts.
Sergey Kandaurov <pluknet@nginx.com>
parents:
249
diff
changeset
|
25 my $t = Test::Nginx->new()->has(qw/http ssi/)->plan(43); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
26 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
27 $t->write_file_expand('nginx.conf', <<'EOF'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
28 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
30 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
234
diff
changeset
|
31 daemon off; |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
32 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
33 events { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
34 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
35 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
36 http { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
38 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080; |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
41 server_name localhost; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
42 location / { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
43 ssi on; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
44 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
45 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
46 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
47 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
48 EOF |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
49 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
50 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
51 my $if_elif_else = |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
52 '<!--#if expr="$arg_if" -->IF' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
53 . '<!--#elif expr="$arg_elif" -->ELIF' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
54 . '<!--#else -->ELSE' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
55 . '<!--#endif -->'; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
56 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
57 my $zig = 'GOOD'; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
58 my $zag = 'GOOD'; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
59 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
60 foreach my $i (reverse 1 .. 15) { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
61 if ($i % 2) { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
62 $zig = |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
63 "<!--#if expr='\$arg_$i' -->$i<!--#else -->$zig<!--#endif -->"; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
64 $zag = |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
65 "<!--#if expr='\$arg_$i' -->$zag<!--#else -->$i<!--#endif -->"; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
66 } else { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
67 $zig = |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
68 "<!--#if expr='\$arg_$i' -->$zig<!--#else -->$i<!--#endif -->"; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
69 $zag = |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
70 "<!--#if expr='\$arg_$i' -->$i<!--#else -->$zag<!--#endif -->"; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
71 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
72 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
73 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
74 $t->run(); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
75 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
76 ############################################################################### |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
77 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
78 $t->write_file('if_var.html', 'x<!--#if expr="$arg_v" -->OK<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
79 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
80 like(http_get('/if_var.html?v=1'), qr/^xOKx$/m, 'if variable exists'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
81 like(http_get('/if_var.html'), qr/^xx$/m, 'if variable not exists'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
82 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
83 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
84 $t->write_file('if_eq.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
85 'x<!--#if expr="$arg_v = equal" -->OK<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
86 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
87 like(http_get('/if_eq.html?v=equal'), qr/^xOKx$/m, 'if var = text'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
88 like(http_get('/if_eq.html?v=notequal'), qr/^xx$/m, 'if var = text (false)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
89 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
90 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
91 $t->write_file('if_neq.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
92 'x<!--#if expr="equal != $arg_v" -->OK<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
93 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
94 like(http_get('/if_neq.html?v=notequal'), qr/^xOKx$/m, 'if text != var'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
95 like(http_get('/if_neq.html?v=equal'), qr/^xx$/m, 'if text != var (false)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
96 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
97 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
98 SKIP: { |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
99 # PCRE may not be available unless we have rewrite module |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
100 |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
101 skip 'no PCRE', 4 unless $t->has_module('rewrite'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
102 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
103 $t->write_file('if_eq_re.html', |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
104 'x<!--#if expr="$arg_v = /re+gexp?/" -->OK<!--#endif -->x'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
105 |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
106 like(http_get('/if_eq_re.html?v=XreeeegexX'), qr/^xOKx$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
107 'if var = /regex/'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
108 like(http_get('/if_eq_re.html?v=XrgxX'), qr/^xx$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
109 'if var = /regex/ (false)'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
110 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
111 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
112 $t->write_file('if_neq_re.html', |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
113 'x<!--#if expr="$arg_v != /re+gexp?/" -->OK<!--#endif -->x'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
114 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
115 like(http_get('/if_neq_re.html?v=XrgxX'), qr/^xOKx$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
116 'if var != /regex/'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
117 like(http_get('/if_neq_re.html?v=XreeeegexX'), qr/^xx$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
118 'if var != /regex/ (false)'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
119 } |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
120 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
121 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
122 $t->write_file('if_varvar.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
123 'x<!--#if expr="$arg_v = var$arg_v2" -->OK<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
124 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
125 like(http_get('/if_varvar.html?v=varHERE&v2=HERE'), qr/^xOKx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
126 'if var = complex'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
127 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
128 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
129 SKIP: { |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
130 # PCRE may not be available unless we have rewrite module |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
131 |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
132 skip 'no PCRE', 2 unless $t->has_module('rewrite'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
133 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
134 $t->write_file('if_cap_re.html', |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
135 'x<!--#if expr="$arg_v = /(CAP\d).*(CAP\d)/" -->' |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
136 . '<!--#echo var="1" -->x<!--#echo var="2" -->' |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
137 . '<!--#endif -->x'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
138 |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
139 like(http_get('/if_cap_re.html?v=hereCAP1andCAP2'), qr/^xCAP1xCAP2x$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
140 'if regex with captures'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
141 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
142 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
143 $t->write_file('if_ncap_re.html', |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
144 'x<!--#if expr="$arg_v = /(?P<ncap>HERE)/" -->' |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
145 . '<!--#echo var="ncap" -->' |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
146 . '<!--#endif -->x'); |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
147 |
234
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
148 like(http_get('/if_ncap_re.html?v=captureHEREeee'), qr/^xHEREx$/m, |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
149 'if regex with named capture'); |
62114a0c1389
Tests: skip ssi if regex tests without the rewrite module.
Valentin Bartenev <ne@vbart.ru>
parents:
199
diff
changeset
|
150 } |
190
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
151 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
152 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
153 $t->write_file('if.html', 'x' . $if_elif_else . 'x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
154 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
155 like(http_get('/if.html?if=1'), qr/^xIFx$/m, 'if'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
156 like(http_get('/if.html?if=1&elif=1'), qr/^xIFx$/m, 'if suppresses elif'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
157 like(http_get('/if.html?elif=1'), qr/^xELIFx$/m, 'elif'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
158 like(http_get('/if.html'), qr/^xELSEx$/m, 'else'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
159 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
160 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
161 $t->write_file('if_multi.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
162 'x<!--#if expr="$arg_1" -->IF1<!--#else -->ELSE1<!--#endif -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
163 . 'x<!--#if expr="$arg_2" -->IF2<!--#else -->ELSE2<!--#endif -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
164 . 'x<!--#if expr="$arg_3" -->IF3<!--#else -->ELSE3<!--#endif -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
165 . 'x<!--#if expr="$arg_4" -->IF4<!--#else -->ELSE4<!--#endif -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
166 . 'x<!--#if expr="$arg_5" -->IF5<!--#else -->ELSE5<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
167 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
168 like(http_get('/if_multi.html?1=t&2=t&3=t&4=t&5=t'), |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
169 qr/^xIF1xIF2xIF3xIF4xIF5x$/m, 'multiple if (sequentially)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
170 like(http_get('/if_multi.html?1=t&3=t&5=t'), qr/^xIF1xELSE2xIF3xELSE4xIF5x$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
171 'multiple if (interlaced)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
172 like(http_get('/if_multi.html?2=t&4=t'), qr/^xELSE1xIF2xELSE3xIF4xELSE5x$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
173 'multiple if (interlaced reversed)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
174 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
175 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
176 $t->write_file('if_in_block.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
177 '<!--#block name="one" -->' . $if_elif_else . '<!--#endblock -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
178 . 'x<!--#include virtual="/404?$args" stub="one" -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
179 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
180 like(http_get('/if_in_block.html?if=1'), qr/^xIFx$/m, 'if (in block)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
181 like(http_get('/if_in_block.html?if=1&elif=1'), qr/^xIFx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
182 'if suppresses elif (in block)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
183 like(http_get('/if_in_block.html?elif=1'), qr/^xELIFx$/m, 'elif (in block)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
184 like(http_get('/if_in_block.html'), qr/^xELSEx$/m, 'else (in block)'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
185 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
186 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
187 $t->write_file('if_config_set_echo.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
188 'x<!--#if expr="$arg_if" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
189 . '<!--#config timefmt="IF" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
190 . '<!--#set var="v" value="$date_gmt" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
191 . '<!--#echo var="v" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
192 . '<!--#else -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
193 . '<!--#config timefmt="ELSE" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
194 . '<!--#set var="v" value="$date_gmt" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
195 . '<!--#echo var="v" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
196 . '<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
197 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
198 like(http_get('/if_config_set_echo.html?if=1'), qr/^xIFx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
199 'if config-set-echo'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
200 like(http_get('/if_config_set_echo.html'), qr/^xELSEx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
201 'else config-set-echo'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
202 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
203 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
204 $t->write_file('if_include.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
205 'x<!--#if expr="$arg_if" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
206 . '<!--#include virtual="/if.html?if=1" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
207 . '<!--#else -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
208 . '<!--#include virtual="/if.html" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
209 . '<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
210 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
211 like(http_get('/if_include.html?if=1'), qr/^xxIFxx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
212 'if include'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
213 like(http_get('/if_include.html'), qr/^xxELSExx$/m, |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
214 'else include'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
215 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
216 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
217 $t->write_file('if_block.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
218 '<!--#if expr="$arg_if" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
219 . '<!--#block name="one" -->IF<!--#endblock -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
220 . '<!--#else -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
221 . '<!--#block name="one" -->ELSE<!--#endblock -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
222 . '<!--#endif -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
223 . 'x<!--#include virtual="/404" stub="one" -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
224 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
225 like(http_get('/if_block.html?if=1'), qr/^xIFx$/m, 'if block'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
226 like(http_get('/if_block.html'), qr/^xELSEx$/m, 'else block'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
227 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
228 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
229 TODO: { |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
230 local $TODO = 'support for nested ifs'; |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
231 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
232 $t->write_file('ifif.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
233 'x<!--#if expr="$arg__if" -->IFx' . $if_elif_else |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
234 . '<!--#elif expr="$arg__elif" -->ELIFx' . $if_elif_else |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
235 . '<!--#else -->ELSEx' . $if_elif_else |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
236 . '<!--#endif -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
237 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
238 like(http_get('/ifif.html?_if=1&if=1'), qr/^xIFxIFx$/m, 'if if'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
239 like(http_get('/ifif.html?_if=1&elif=1'), qr/^xIFxELIFx$/m, 'if elif'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
240 like(http_get('/ifif.html?_if=1'), qr/^xIFxELSEx$/m, 'if else'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
241 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
242 like(http_get('/ifif.html?_elif=1&if=1'), qr/^xELIFxIFx$/m, 'elif if'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
243 like(http_get('/ifif.html?_elif=1&elif=1'), qr/^xELIFxELIFx$/m, 'elif elif'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
244 like(http_get('/ifif.html?_elif=1'), qr/^xELIFxELSEx$/m, 'elif else'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
245 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
246 like(http_get('/ifif.html?if=1'), qr/^xELSExIFx$/m, 'else if'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
247 like(http_get('/ifif.html?elif=1'), qr/^xELSExELIFx$/m, 'else elif'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
248 like(http_get('/ifif.html'), qr/^xELSExELSEx$/m, 'else else'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
249 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
250 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
251 $t->write_file('zigzag.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
252 "x<!--#if expr='\$arg_0' -->$zig<!--#else -->$zag<!--#endif -->x"); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
253 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
254 like(http_get('/zigzag.html?0=t&2=t&4=t&6=t&8=t&10=t&12=t&14=t'), |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
255 qr/^xGOODx$/m, 'zigzag'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
256 like(http_get('/zigzag.html?1=t&3=t&5=t&7=t&9=t&11=t&13=t&15=t'), |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
257 qr/^xGOODx$/m, 'zagzig'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
258 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
259 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
260 $t->write_file('zigzag_block.html', |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
261 '<!--#block name="one" -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
262 . "x<!--#if expr='\$arg_0' -->$zig<!--#else -->$zag<!--#endif -->x" |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
263 . '<!--#endblock -->' |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
264 . 'x<!--#include virtual="/404?$args" stub="one" -->x'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
265 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
266 like(http_get('/zigzag_block.html?0=t&2=t&4=t&6=t&8=t&10=t&12=t&14=t'), |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
267 qr/^xGOODx$/m, 'zigzag block'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
268 like(http_get('/zigzag_block.html?1=t&3=t&5=t&7=t&9=t&11=t&13=t&15=t'), |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
269 qr/^xGOODx$/m, 'zagzig block'); |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
270 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
271 } |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
272 |
1d66a6a509d0
Tests: SSI "if" statement tests.
Valentin Bartenev <ne@vbart.ru>
parents:
diff
changeset
|
273 ############################################################################### |