Mercurial > hg > nginx-tests
changeset 193:50063559d85a
Tests: proxy_redirect and Refresh header.
author | Valentin Bartenev <ne@vbart.ru> |
---|---|
date | Tue, 10 Jan 2012 02:06:15 +0400 |
parents | f2a48c528b3b |
children | 5db96b64cead |
files | proxy_redirect.t |
diffstat | 1 files changed, 29 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/proxy_redirect.t Thu Dec 29 18:31:14 2011 +0300 +++ b/proxy_redirect.t Tue Jan 10 02:06:15 2012 +0400 @@ -22,7 +22,7 @@ select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(6); +my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(12); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -68,6 +68,7 @@ server_name localhost; location / { + add_header Refresh "7; url=http://127.0.0.1:8081$uri"; return http://127.0.0.1:8081$uri; } } @@ -85,18 +86,27 @@ is(http_get_location('http://127.0.0.1:8080/expl_default/test.html'), 'http://127.0.0.1:8080/expl_default/test.html', 'explicit default'); +is(http_get_refresh('http://127.0.0.1:8080/impl_default/test.html'), + '7; url=/impl_default/test.html', 'implicit default (refresh)'); +is(http_get_refresh('http://127.0.0.1:8080/expl_default/test.html'), + '7; url=/expl_default/test.html', 'explicit default (refresh)'); + is(http_get_location('http://127.0.0.1:8080/var_in_second/test.html'), 'http://127.0.0.1:8080/var_here/test.html', 'variable in second arg'); +is(http_get_refresh('http://127.0.0.1:8080/var_in_second/test.html'), + '7; url=/var_here/test.html', 'variable in second arg (refresh)'); -TODO:{ +TODO: { local $TODO = 'support variables in first argument'; is(http_get_location('http://127.0.0.1:8080/var_here/test.html'), 'http://127.0.0.1:8080/replaced/test.html', 'variable in first arg'); +is(http_get_refresh('http://127.0.0.1:8080/var_here/test.html'), + '7; url=/replaced/test.html', 'variable in first arg (refresh)'); } -TODO:{ +TODO: { local $TODO = 'support for regular expressions'; is(http_get_location('http://127.0.0.1:8080/ReeegEX/test.html'), @@ -106,6 +116,16 @@ } +TODO: { +local $TODO = 'regular expressions and Refresh header'; + +is(http_get_refresh('http://127.0.0.1:8080/ReeegEX/test.html'), + '7; url=/replaced/test.html', 'caseless regexp (refresh)'); +is(http_get_refresh('http://127.0.0.1:8080/regex_w_captures/test.html'), + '7; url=http://127.0.0.1:8080/captures/test.html', + 'regexp w/captures (refresh)'); + +} ############################################################################### @@ -114,3 +134,9 @@ http_get($url) =~ /^Location:\s(.+?)\x0d?$/mi; return $1; } + +sub http_get_refresh { + my ($url) = @_; + http_get($url) =~ /^Refresh:\s(.+?)\x0d?$/mi; + return $1; +}