# HG changeset patch # User Valentin Bartenev # Date 1326146775 -14400 # Node ID 50063559d85a0476481338453f42ae88079bc2b1 # Parent f2a48c528b3b8c079c14c50719eacc9303b4f6b7 Tests: proxy_redirect and Refresh header. diff --git a/proxy_redirect.t b/proxy_redirect.t --- a/proxy_redirect.t +++ b/proxy_redirect.t @@ -22,7 +22,7 @@ use Test::Nginx; 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 @@ http { 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:8 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 @@ is(http_get_location('http://127.0.0.1:8 } +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 @@ sub http_get_location { http_get($url) =~ /^Location:\s(.+?)\x0d?$/mi; return $1; } + +sub http_get_refresh { + my ($url) = @_; + http_get($url) =~ /^Refresh:\s(.+?)\x0d?$/mi; + return $1; +}