# HG changeset patch # User Maxim Dounin # Date 1340822111 -14400 # Node ID e7a01be387adfba7d9df09aa4aba9a7d6989d3fb # Parent d9c5b8b9d48edde6bb0948915256aaaecf035cc2 Tests: added some etag tests. diff --git a/not_modified.t b/not_modified.t --- a/not_modified.t +++ b/not_modified.t @@ -21,7 +21,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has('http')->plan(4) +my $t = Test::Nginx->new()->has('http')->plan(12) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -66,11 +66,34 @@ SKIP: { '0x17FFFFFFF'); } +# If-Match, If-None-Match tests + +my ($t1, $etag); + +$t1 = http_get('/t'); + +SKIP: { + skip "no etag support", 8 if $t1 !~ /ETag: (".*")/; + $etag = $1; + + like(http_get_inm('/t', $etag), qr/304/, 'if-none-match'); + like(http_get_inm('/t', '"foo"'), qr/200/, 'if-none-match fail'); + like(http_get_inm('/t', '"foo", "bar", ' . $etag . ' , "baz"'), qr/304/, + 'if-none-match with complex list'); + like(http_get_inm('/t', '*'), qr/304/, 'if-none-match all'); + + like(http_get_im('/t', $etag), qr/200/, 'if-match'); + like(http_get_im('/t', '"foo"'), qr/412/, 'if-match fail'); + like(http_get_im('/t', '"foo", "bar", ' . "\t" . $etag . ' , "baz"'), + qr/200/, 'if-match with complex list'); + like(http_get_im('/t', '*'), qr/200/, 'if-match all'); +} + ############################################################################### sub http_get_ims { - my ($url, $ims) = @_; - return http(<