| // META: global=window,worker | |
| // META: title=HTTP Cache - 304 Updates | |
| // META: timeout=long | |
| // META: script=/common/utils.js | |
| // META: script=/common/get-host-info.sub.js | |
| // META: script=http-cache.js | |
| var tests = [ | |
| { | |
| name: "HTTP cache updates returned headers from a Last-Modified 304", | |
| requests: [ | |
| { | |
| response_headers: [ | |
| ["Expires", -5000], | |
| ["Last-Modified", -3000], | |
| ["Test-Header", "A"] | |
| ] | |
| }, | |
| { | |
| response_headers: [ | |
| ["Expires", -3000], | |
| ["Last-Modified", -3000], | |
| ["Test-Header", "B"] | |
| ], | |
| expected_type: "lm_validated", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| name: "HTTP cache updates stored headers from a Last-Modified 304", | |
| requests: [ | |
| { | |
| response_headers: [ | |
| ["Expires", -5000], | |
| ["Last-Modified", -3000], | |
| ["Test-Header", "A"] | |
| ] | |
| }, | |
| { | |
| response_headers: [ | |
| ["Expires", 3000], | |
| ["Last-Modified", -3000], | |
| ["Test-Header", "B"] | |
| ], | |
| expected_type: "lm_validated", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ], | |
| pause_after: true | |
| }, | |
| { | |
| expected_type: "cached", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| name: "HTTP cache updates returned headers from a ETag 304", | |
| requests: [ | |
| { | |
| response_headers: [ | |
| ["Expires", -5000], | |
| ["ETag", "ABC"], | |
| ["Test-Header", "A"] | |
| ] | |
| }, | |
| { | |
| response_headers: [ | |
| ["Expires", -3000], | |
| ["ETag", "ABC"], | |
| ["Test-Header", "B"] | |
| ], | |
| expected_type: "etag_validated", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| name: "HTTP cache updates stored headers from a ETag 304", | |
| requests: [ | |
| { | |
| response_headers: [ | |
| ["Expires", -5000], | |
| ["ETag", "DEF"], | |
| ["Test-Header", "A"] | |
| ] | |
| }, | |
| { | |
| response_headers: [ | |
| ["Expires", 3000], | |
| ["ETag", "DEF"], | |
| ["Test-Header", "B"] | |
| ], | |
| expected_type: "etag_validated", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ], | |
| pause_after: true | |
| }, | |
| { | |
| expected_type: "cached", | |
| expected_response_headers: [ | |
| ["Test-Header", "B"] | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| name: "Content-* header", | |
| requests: [ | |
| { | |
| response_headers: [ | |
| ["Expires", -5000], | |
| ["ETag", "GHI"], | |
| ["Content-Test-Header", "A"] | |
| ] | |
| }, | |
| { | |
| response_headers: [ | |
| ["Expires", 3000], | |
| ["ETag", "GHI"], | |
| ["Content-Test-Header", "B"] | |
| ], | |
| expected_type: "etag_validated", | |
| expected_response_headers: [ | |
| ["Content-Test-Header", "B"] | |
| ], | |
| pause_after: true | |
| }, | |
| { | |
| expected_type: "cached", | |
| expected_response_headers: [ | |
| ["Content-Test-Header", "B"] | |
| ] | |
| } | |
| ] | |
| }, | |
| ]; | |
| run_tests(tests); |