changeset 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 e7dc8f4d0a4b
children 8e8636a4fe61
files range.t
diffstat 1 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/range.t
+++ b/range.t
@@ -21,7 +21,7 @@ use Test::Nginx;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http charset/)->plan(31);
+my $t = Test::Nginx->new()->has(qw/http charset/)->plan(35);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -47,6 +47,14 @@ http {
             charset A;
             source_charset B;
         }
+
+        location /t3.html {
+            max_ranges 2;
+        }
+
+        location /t4.html {
+            max_ranges 0;
+        }
     }
 }
 
@@ -56,6 +64,10 @@ EOF
 	join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
 $t->write_file('t2.html',
 	join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
+$t->write_file('t3.html',
+	join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
+$t->write_file('t4.html',
+	join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
 $t->run();
 
 ###############################################################################
@@ -114,6 +126,15 @@ like($t1, qr/X001XXXXXX\x0d?$/m, 'multip
 like(http_get_range('/t1.html', 'Range: bytes=100000-'), qr/416/,
 	'not satisfiable');
 
+like(http_get_range('/t3.html', 'Range: bytes=0-9, -10'), qr/206/,
+	'max_ranges not reached');
+like(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10000-'), qr/206/,
+	'max_ranges not reached bad range');
+unlike(http_get_range('/t3.html', 'Range: bytes=0-9, -10, 10-19'),
+	qr/206/, 'max_ranges reached');
+unlike(http_get_range('/t4.html', 'Range: bytes=0-9'), qr/206/,
+	'max_ranges zero');
+
 ###############################################################################
 
 sub http_get_range {