Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 importScripts('worker-test-harness.js'); | |
| 2 importScripts('test-helpers.js'); | |
| 3 | |
| 4 promise_test(function() { | |
| 5 var lastModified = ''; | |
| 6 var eTag = ''; | |
| 7 var url = 'other.html'; | |
| 8 var expectedText = '<!DOCTYPE html>\n<title>Other</title>\n' + | |
| 9 'Here\'s an other html file.\n'; | |
|
nhiroki
2014/09/18 10:39:32
+4-space indent?
horo
2014/09/19 05:06:12
Done.
| |
| 10 return fetch(url) | |
| 11 .then(function(res) { | |
| 12 lastModified = res.headers.get('last-modified'); | |
| 13 eTag = res.headers.get('etag'); | |
| 14 assert_not_equals(lastModified, '', 'last-modified must be set.'); | |
| 15 assert_not_equals(eTag, '', 'eTag must be set.'); | |
| 16 | |
| 17 return fetch(url); | |
| 18 }) | |
| 19 .then(function(res) { | |
| 20 assert_equals(res.status, 200, | |
| 21 'Automatically cached response status must be 200'); | |
| 22 return res.text(); | |
| 23 }) | |
| 24 .then(function(text) { | |
| 25 assert_equals( | |
| 26 text, expectedText, | |
| 27 'Automatically cached response body must be correct.'); | |
| 28 | |
| 29 return fetch(url, | |
| 30 { headers: [['If-Modified-Since', lastModified]] }); | |
| 31 }) | |
| 32 .then(function(res) { | |
| 33 assert_equals( | |
| 34 res.status, 304, | |
| 35 'If-Modified-Since override response status must be 304'); | |
|
nhiroki
2014/09/18 10:39:32
(suggestion) 'Status of the request overridden wit
horo
2014/09/19 05:06:12
refined
| |
| 36 return res.text(); | |
| 37 }) | |
| 38 .then(function(text) { | |
| 39 assert_equals( | |
| 40 text, '', | |
| 41 'If-Modified-Since override modified body must be empty'); | |
| 42 | |
| 43 return fetch(url, | |
| 44 { headers: [['If-Modified-Since', | |
| 45 'Tue, 01 Jan 1980 01:00:00 GMT']] }); | |
| 46 }) | |
| 47 .then(function(res) { | |
| 48 assert_equals( | |
| 49 res.status, 200, | |
| 50 'If-Modified-Since override modified response status must be 200'); | |
| 51 return res.text(); | |
| 52 }) | |
| 53 .then(function(text) { | |
| 54 assert_equals( | |
| 55 text, expectedText, | |
| 56 'If-Modified-Since override modified body must be correct'); | |
| 57 | |
| 58 return fetch(url, | |
| 59 { headers: [['If-Unmodified-Since', lastModified]] }); | |
| 60 }) | |
| 61 .then(function(res) { | |
| 62 assert_equals( | |
| 63 res.status, 200, | |
| 64 'If-Unmodified-Since override response status must be 200'); | |
| 65 return res.text(); | |
| 66 }) | |
| 67 .then(function(text) { | |
| 68 assert_equals( | |
| 69 text, expectedText, | |
| 70 'If-Unmodified-Since override response body must be correct'); | |
| 71 | |
| 72 return fetch(url, | |
| 73 { headers: [['If-Unmodified-Since', | |
| 74 'Tue, 01 Jan 1980 01:00:00 GMT']] }); | |
| 75 }) | |
| 76 .then(function(res) { | |
| 77 assert_equals( | |
| 78 res.status, 412, | |
| 79 'If-Unmodified-Since override modified response status must be ' + | |
| 80 '412'); | |
|
nhiroki
2014/09/18 10:39:32
+4-space indent?
horo
2014/09/19 05:06:12
Done.
| |
| 81 return res.text(); | |
| 82 }) | |
| 83 .then(function(text) { | |
| 84 assert_equals( | |
| 85 text, '', | |
| 86 'If-Unmodified-Since override modified response body must be ' + | |
| 87 'empty'); | |
|
nhiroki
2014/09/18 10:39:32
ditto.
horo
2014/09/19 05:06:13
Done.
| |
| 88 | |
| 89 return fetch(url, | |
| 90 { headers: [['If-Match', eTag]] }); | |
| 91 }) | |
| 92 .then(function(res) { | |
| 93 assert_equals( | |
| 94 res.status, 200, | |
| 95 'If-Match override response status must be 200'); | |
| 96 return res.text(); | |
| 97 }) | |
| 98 .then(function(text) { | |
| 99 assert_equals( | |
| 100 text, expectedText, | |
| 101 'If-Match override response body must be correct'); | |
| 102 | |
| 103 return fetch(url, | |
| 104 { headers: [['If-Match', 'xyzzy']] }); | |
| 105 }) | |
| 106 .then(function(res) { | |
| 107 assert_equals( | |
| 108 res.status, 412, | |
| 109 'If-Match override none match response status must be 412'); | |
| 110 return res.text(); | |
| 111 }) | |
| 112 .then(function(text) { | |
| 113 assert_equals( | |
| 114 text, '', | |
| 115 'If-Match override none match response body must be empty'); | |
| 116 | |
| 117 return fetch(url, | |
| 118 { headers: [['If-None-Match', eTag]] }); | |
| 119 }) | |
| 120 .then(function(res) { | |
| 121 assert_equals( | |
| 122 res.status, 304, | |
| 123 'If-None-Match override response status must be 304'); | |
| 124 return res.text(); | |
| 125 }) | |
| 126 .then(function(text) { | |
| 127 assert_equals( | |
| 128 text, '', 'If-None-Match override response body must be empty'); | |
| 129 | |
| 130 return fetch(url, | |
| 131 { headers: [['If-None-Match', 'xyzzy']] }); | |
| 132 }) | |
| 133 .then(function(res) { | |
| 134 assert_equals( | |
| 135 res.status, 200, | |
| 136 'If-None-Match override none match response status must be 200'); | |
| 137 | |
| 138 return fetch(url, | |
| 139 { headers: [['If-Range', eTag], | |
| 140 ['Range', 'bytes=10-30']] }); | |
| 141 }) | |
| 142 .then(function(res) { | |
| 143 assert_equals( | |
| 144 res.status, 206, | |
| 145 'If-Range override response status must be 206'); | |
| 146 return res.text(); | |
| 147 }) | |
| 148 .then(function(text) { | |
| 149 assert_equals( | |
| 150 text, expectedText.substring(10, 31), | |
| 151 'If-Range override cached response body must be correct.'); | |
| 152 | |
| 153 return fetch(url, | |
| 154 { headers: [['If-Range', 'xyzzy'], | |
| 155 ['Range', 'bytes=10-30']] }); | |
| 156 }) | |
| 157 .then(function(res) { | |
| 158 assert_equals( | |
| 159 res.status, 200, | |
| 160 'If-Range override none match response status must be 200'); | |
| 161 return res.text(); | |
| 162 }) | |
| 163 .then(function(text) { | |
| 164 assert_equals( | |
| 165 text, expectedText, | |
| 166 'If-Range override none match response body must be correct.'); | |
| 167 }) | |
| 168 }, '304 handling for fetch().'); | |
| 169 | |
|
nhiroki
2014/09/18 10:39:32
nit: There is an empty line.
horo
2014/09/19 05:06:12
Done.
| |
| OLD | NEW |