304-update.any.js (3246B)
1 // META: global=window,worker 2 // META: title=HTTP Cache - 304 Updates 3 // META: timeout=long 4 // META: script=/common/utils.js 5 // META: script=/common/get-host-info.sub.js 6 // META: script=http-cache.js 7 8 var tests = [ 9 { 10 name: "HTTP cache updates returned headers from a Last-Modified 304", 11 requests: [ 12 { 13 response_headers: [ 14 ["Expires", -5000], 15 ["Last-Modified", -3000], 16 ["Test-Header", "A"] 17 ] 18 }, 19 { 20 response_headers: [ 21 ["Expires", -3000], 22 ["Last-Modified", -3000], 23 ["Test-Header", "B"] 24 ], 25 expected_type: "lm_validated", 26 expected_response_headers: [ 27 ["Test-Header", "B"] 28 ] 29 } 30 ] 31 }, 32 { 33 name: "HTTP cache updates stored headers from a Last-Modified 304", 34 requests: [ 35 { 36 response_headers: [ 37 ["Expires", -5000], 38 ["Last-Modified", -3000], 39 ["Test-Header", "A"] 40 ] 41 }, 42 { 43 response_headers: [ 44 ["Expires", 3000], 45 ["Last-Modified", -3000], 46 ["Test-Header", "B"] 47 ], 48 expected_type: "lm_validated", 49 expected_response_headers: [ 50 ["Test-Header", "B"] 51 ], 52 pause_after: true 53 }, 54 { 55 expected_type: "cached", 56 expected_response_headers: [ 57 ["Test-Header", "B"] 58 ] 59 } 60 ] 61 }, 62 { 63 name: "HTTP cache updates returned headers from a ETag 304", 64 requests: [ 65 { 66 response_headers: [ 67 ["Expires", -5000], 68 ["ETag", "ABC"], 69 ["Test-Header", "A"] 70 ] 71 }, 72 { 73 response_headers: [ 74 ["Expires", -3000], 75 ["ETag", "ABC"], 76 ["Test-Header", "B"] 77 ], 78 expected_type: "etag_validated", 79 expected_response_headers: [ 80 ["Test-Header", "B"] 81 ] 82 } 83 ] 84 }, 85 { 86 name: "HTTP cache updates stored headers from a ETag 304", 87 requests: [ 88 { 89 response_headers: [ 90 ["Expires", -5000], 91 ["ETag", "DEF"], 92 ["Test-Header", "A"] 93 ] 94 }, 95 { 96 response_headers: [ 97 ["Expires", 3000], 98 ["ETag", "DEF"], 99 ["Test-Header", "B"] 100 ], 101 expected_type: "etag_validated", 102 expected_response_headers: [ 103 ["Test-Header", "B"] 104 ], 105 pause_after: true 106 }, 107 { 108 expected_type: "cached", 109 expected_response_headers: [ 110 ["Test-Header", "B"] 111 ] 112 } 113 ] 114 }, 115 { 116 name: "Content-* header", 117 requests: [ 118 { 119 response_headers: [ 120 ["Expires", -5000], 121 ["ETag", "GHI"], 122 ["Content-Test-Header", "A"] 123 ] 124 }, 125 { 126 response_headers: [ 127 ["Expires", 3000], 128 ["ETag", "GHI"], 129 ["Content-Test-Header", "B"] 130 ], 131 expected_type: "etag_validated", 132 expected_response_headers: [ 133 ["Content-Test-Header", "B"] 134 ], 135 pause_after: true 136 }, 137 { 138 expected_type: "cached", 139 expected_response_headers: [ 140 ["Content-Test-Header", "B"] 141 ] 142 } 143 ] 144 }, 145 ]; 146 run_tests(tests);