Mercurial > hg > nginx-tests
changeset 215:7f5095965c88
Tests: added rewrite tests for ticket #162.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 03 May 2012 14:48:30 +0400 |
parents | 35d050d7d5f1 |
children | f2f37a52e42e |
files | rewrite.t |
diffstat | 1 files changed, 27 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/rewrite.t +++ b/rewrite.t @@ -21,7 +21,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(19) +my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(21) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -116,6 +116,16 @@ http { location /directory { } + + location /capture { + rewrite ^(.*) $1?c=d; + return 200 "uri:$uri args:$args"; + } + + location /capturedup { + rewrite ^(.*) $1?c=$1; + return 200 "uri:$uri args:$args"; + } } } @@ -202,4 +212,20 @@ like(http_get('/error405directory'), qr!HTTP/1.1 301.*Location: http://!ms, 'error 405 directory redirect'); +# escaping of uri if there are args added in rewrite, and length +# is actually calculated (ticket #162) + +like(http_get('/capture/%25?a=b'), + qr!^uri:/capture/% args:c=d&a=b$!ms, + 'escape with added args'); + +TODO: { +local $TODO = 'patch pending'; + +like(http_get('/capturedup/%25?a=b'), + qr!^uri:/capturedup/% args:c=/capturedup/%25&a=b$!ms, + 'escape with added args'); + +} + ###############################################################################