Mercurial > hg > nginx-tests
comparison range.t @ 344:b6d566531746
Tests: tests for range filter bound with "max_ranges".
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 30 Sep 2013 19:07:41 +0400 |
parents | 6a0d934950bc |
children | 8e8636a4fe61 |
comparison
equal
deleted
inserted
replaced
343:e7dc8f4d0a4b | 344:b6d566531746 |
---|---|
19 ############################################################################### | 19 ############################################################################### |
20 | 20 |
21 select STDERR; $| = 1; | 21 select STDERR; $| = 1; |
22 select STDOUT; $| = 1; | 22 select STDOUT; $| = 1; |
23 | 23 |
24 my $t = Test::Nginx->new()->has(qw/http charset/)->plan(31); | 24 my $t = Test::Nginx->new()->has(qw/http charset/)->plan(35); |
25 | 25 |
26 $t->write_file_expand('nginx.conf', <<'EOF'); | 26 $t->write_file_expand('nginx.conf', <<'EOF'); |
27 | 27 |
28 %%TEST_GLOBALS%% | 28 %%TEST_GLOBALS%% |
29 | 29 |
45 | 45 |
46 location /t2.html { | 46 location /t2.html { |
47 charset A; | 47 charset A; |
48 source_charset B; | 48 source_charset B; |
49 } | 49 } |
50 | |
51 location /t3.html { | |
52 max_ranges 2; | |
53 } | |
54 | |
55 location /t4.html { | |
56 max_ranges 0; | |
57 } | |
50 } | 58 } |
51 } | 59 } |
52 | 60 |
53 EOF | 61 EOF |
54 | 62 |
55 $t->write_file('t1.html', | 63 $t->write_file('t1.html', |
56 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); | 64 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); |
57 $t->write_file('t2.html', | 65 $t->write_file('t2.html', |
66 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); | |
67 $t->write_file('t3.html', | |
68 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); | |
69 $t->write_file('t4.html', | |
58 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); | 70 join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99))); |
59 $t->run(); | 71 $t->run(); |
60 | 72 |
61 ############################################################################### | 73 ############################################################################### |
62 | 74 |
112 like($t1, qr/X001XXXXXX\x0d?$/m, 'multipart big - content 10-19'); | 124 like($t1, qr/X001XXXXXX\x0d?$/m, 'multipart big - content 10-19'); |
113 | 125 |
114 like(http_get_range('/t1.html', 'Range: bytes=100000-'), qr/416/, | 126 like(http_get_range('/t1.html', 'Range: bytes=100000-'), qr/416/, |
115 'not satisfiable'); | 127 'not satisfiable'); |
116 | 128 |
129 like(http_get_range('/t3.html', 'Range: bytes=0-9, -10'), qr/206/, | |
130 'max_ranges not reached'); | |
131 like(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10000-'), qr/206/, | |
132 'max_ranges not reached bad range'); | |
133 unlike(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10-19'), | |
134 qr/206/, 'max_ranges reached'); | |
135 unlike(http_get_range('/t4.html', 'Range: bytes=0-9'), qr/206/, | |
136 'max_ranges zero'); | |
137 | |
117 ############################################################################### | 138 ############################################################################### |
118 | 139 |
119 sub http_get_range { | 140 sub http_get_range { |
120 my ($url, $extra) = @_; | 141 my ($url, $extra) = @_; |
121 return http(<<EOF); | 142 return http(<<EOF); |