Mercurial > nginx-tests
changeset 523:64eabe6aa1f2
Tests: try_files tests for files and directory matching.
author | Damien Tournoud <damien@commerceguys.com> |
---|---|
date | Wed, 21 Jan 2015 00:57:09 +0100 (2015-01-20) |
parents | 5b5ef52d6fd2 |
children | 084f8c8cb648 |
files | http_try_files.t |
diffstat | 1 files changed, 30 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/http_try_files.t Mon Feb 02 19:50:52 2015 +0300 +++ b/http_try_files.t Wed Jan 21 00:57:09 2015 +0100 @@ -21,7 +21,7 @@ select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(4) +my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(8) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -50,6 +50,22 @@ try_files /short $uri =404; } + location /file-file/ { + try_files /found.html =404; + } + + location /file-dir/ { + try_files /found.html/ =404; + } + + location /dir-dir/ { + try_files /directory/ =404; + } + + location /dir-file/ { + try_files /directory =404; + } + location /fallback { proxy_pass http://127.0.0.1:8081/fallback; } @@ -71,6 +87,7 @@ EOF +mkdir($t->testdir() . '/directory'); $t->write_file('found.html', 'SEE THIS'); $t->run(); @@ -81,4 +98,16 @@ like(http_get('/nouri/notfound'), qr!X-URI: /fallback!, 'not found nouri'); like(http_get('/short/long'), qr!404 Not!, 'short uri in try_files'); +like(http_get('/file-file/'), qr!SEE THIS!, 'file matches file'); + +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.7.10'); + +like(http_get('/file-dir/'), qr!404 Not!, 'file does not match dir'); + +} + +like(http_get('/dir-dir/'), qr!301 Moved Permanently!, 'dir matches dir'); +like(http_get('/dir-file/'), qr!404 Not!, 'dir does not match file'); + ###############################################################################