# HG changeset patch # User Sergey Kandaurov # Date 1380553661 -14400 # Node ID b6d566531746637752e8ff9f30eaed8e7237c533 # Parent e7dc8f4d0a4bf69ce4c7fdf7705a4d4c23aa9421 Tests: tests for range filter bound with "max_ranges". diff --git a/range.t b/range.t --- 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 {