blob: 4447bbcd0e9d4374f5a57664c4aa083bb1fd9900 [file] [log] [blame]
Sergey Kandaurov6391ea42019-10-09 16:46:03 +03001#!/usr/bin/perl
2
3# (C) Sergey Kandaurov
4# (C) Nginx, Inc.
5
6# Tests for URI normalization, merge_slashes off.
7
8###############################################################################
9
10use warnings;
11use strict;
12
13use Test::More;
14
15BEGIN { use FindBin; chdir($FindBin::Bin); }
16
17use lib 'lib';
18use Test::Nginx;
19
20###############################################################################
21
22select STDERR; $| = 1;
23select STDOUT; $| = 1;
24
25my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(2)
26 ->write_file_expand('nginx.conf', <<'EOF')->run();
27
28%%TEST_GLOBALS%%
29
30daemon off;
31
32events {
33}
34
35http {
36 %%TEST_GLOBALS_HTTP%%
37
38 server {
39 listen 127.0.0.1:8080;
40 server_name localhost;
41
42 merge_slashes off;
43
44 location / {
45 add_header X-URI "x $uri x";
46 return 204;
47 }
48 }
49}
50
51EOF
52
53###############################################################################
54
55local $TODO = 'not yet' unless $t->has_version('1.17.5');
56
57like(http_get('/foo//../bar'), qr!x /foo/bar x!, 'merge slashes');
58like(http_get('/foo///../bar'), qr!x /foo//bar x!, 'merge slashes 2');
59
60###############################################################################