| OLD | NEW |
| 1 if (self.importScripts) { | 1 if (self.importScripts) { |
| 2 importScripts('/resources/testharness.js'); | 2 importScripts('/resources/testharness.js'); |
| 3 importScripts('/resources/testharness-helpers.js'); | |
| 4 importScripts('../resources/test-helpers.js'); | 3 importScripts('../resources/test-helpers.js'); |
| 5 } | 4 } |
| 6 | 5 |
| 7 var test_url = 'https://example.com/foo'; | 6 var test_url = 'https://example.com/foo'; |
| 8 var test_body = 'Hello world!'; | 7 var test_body = 'Hello world!'; |
| 9 | 8 |
| 10 cache_test(function(cache) { | 9 cache_test(function(cache) { |
| 11 var request = new Request(test_url); | 10 var request = new Request(test_url); |
| 12 var response = new Response(test_body); | 11 var response = new Response(test_body); |
| 13 return cache.put(request, response) | 12 return cache.put(request, response) |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 var url = 'http://example.com/foo'; | 182 var url = 'http://example.com/foo'; |
| 184 return cache.put(url, new Response('some body')) | 183 return cache.put(url, new Response('some body')) |
| 185 .then(function() { return cache.match(url); }) | 184 .then(function() { return cache.match(url); }) |
| 186 .then(function(response) { return response.text(); }) | 185 .then(function(response) { return response.text(); }) |
| 187 .then(function(body) { | 186 .then(function(body) { |
| 188 assert_equals(body, 'some body', | 187 assert_equals(body, 'some body', |
| 189 'Cache.put should accept a string as request.'); | 188 'Cache.put should accept a string as request.'); |
| 190 }); | 189 }); |
| 191 }, 'Cache.put with a string request'); | 190 }, 'Cache.put with a string request'); |
| 192 | 191 |
| 193 cache_test(function(cache) { | 192 cache_test(function(cache, test) { |
| 194 return assert_promise_rejects( | 193 return promise_rejects( |
| 194 test, |
| 195 new TypeError(), |
| 195 cache.put(new Request(test_url), 'Hello world!'), | 196 cache.put(new Request(test_url), 'Hello world!'), |
| 196 new TypeError(), | |
| 197 'Cache.put should only accept a Response object as the response.'); | 197 'Cache.put should only accept a Response object as the response.'); |
| 198 }, 'Cache.put with an invalid response'); | 198 }, 'Cache.put with an invalid response'); |
| 199 | 199 |
| 200 cache_test(function(cache) { | 200 cache_test(function(cache, test) { |
| 201 return assert_promise_rejects( | 201 return promise_rejects( |
| 202 test, |
| 203 new TypeError(), |
| 202 cache.put(new Request('file:///etc/passwd'), | 204 cache.put(new Request('file:///etc/passwd'), |
| 203 new Response(test_body)), | 205 new Response(test_body)), |
| 204 new TypeError(), | |
| 205 'Cache.put should reject non-HTTP/HTTPS requests with a TypeError.'); | 206 'Cache.put should reject non-HTTP/HTTPS requests with a TypeError.'); |
| 206 }, 'Cache.put with a non-HTTP/HTTPS request'); | 207 }, 'Cache.put with a non-HTTP/HTTPS request'); |
| 207 | 208 |
| 208 cache_test(function(cache) { | 209 cache_test(function(cache) { |
| 209 var response = new Response(test_body); | 210 var response = new Response(test_body); |
| 210 return cache.put(new Request('relative-url'), response.clone()) | 211 return cache.put(new Request('relative-url'), response.clone()) |
| 211 .then(function() { | 212 .then(function() { |
| 212 return cache.match(new URL('relative-url', location.href).href); | 213 return cache.match(new URL('relative-url', location.href).href); |
| 213 }) | 214 }) |
| 214 .then(function(result) { | 215 .then(function(result) { |
| 215 assert_response_equals(result, response, | 216 assert_response_equals(result, response, |
| 216 'Cache.put should accept a relative URL ' + | 217 'Cache.put should accept a relative URL ' + |
| 217 'as the request.'); | 218 'as the request.'); |
| 218 }); | 219 }); |
| 219 }, 'Cache.put with a relative URL'); | 220 }, 'Cache.put with a relative URL'); |
| 220 | 221 |
| 221 cache_test(function(cache) { | 222 cache_test(function(cache, test) { |
| 222 var request = new Request('http://example.com/foo', { method: 'HEAD' }); | 223 var request = new Request('http://example.com/foo', { method: 'HEAD' }); |
| 223 return assert_promise_rejects( | 224 return promise_rejects( |
| 225 test, |
| 226 new TypeError(), |
| 224 cache.put(request, new Response(test_body)), | 227 cache.put(request, new Response(test_body)), |
| 225 new TypeError(), | |
| 226 'Cache.put should throw a TypeError for non-GET requests.'); | 228 'Cache.put should throw a TypeError for non-GET requests.'); |
| 227 }, 'Cache.put with a non-GET request'); | 229 }, 'Cache.put with a non-GET request'); |
| 228 | 230 |
| 229 cache_test(function(cache) { | 231 cache_test(function(cache, test) { |
| 230 return assert_promise_rejects( | 232 return promise_rejects( |
| 233 test, |
| 234 new TypeError(), |
| 231 cache.put(new Request(test_url), null), | 235 cache.put(new Request(test_url), null), |
| 232 new TypeError(), | |
| 233 'Cache.put should throw a TypeError for a null response.'); | 236 'Cache.put should throw a TypeError for a null response.'); |
| 234 }, 'Cache.put with a null response'); | 237 }, 'Cache.put with a null response'); |
| 235 | 238 |
| 236 cache_test(function(cache) { | 239 cache_test(function(cache, test) { |
| 237 var request = new Request(test_url, {method: 'POST', body: test_body}); | 240 var request = new Request(test_url, {method: 'POST', body: test_body}); |
| 238 return assert_promise_rejects( | 241 return promise_rejects( |
| 242 test, |
| 243 new TypeError(), |
| 239 cache.put(request, new Response(test_body)), | 244 cache.put(request, new Response(test_body)), |
| 240 new TypeError(), | |
| 241 'Cache.put should throw a TypeError for a POST request.'); | 245 'Cache.put should throw a TypeError for a POST request.'); |
| 242 }, 'Cache.put with a POST request'); | 246 }, 'Cache.put with a POST request'); |
| 243 | 247 |
| 244 cache_test(function(cache) { | 248 cache_test(function(cache) { |
| 245 var response = new Response(test_body); | 249 var response = new Response(test_body); |
| 246 assert_false(response.bodyUsed, | 250 assert_false(response.bodyUsed, |
| 247 '[https://fetch.spec.whatwg.org/#dom-body-bodyused] ' + | 251 '[https://fetch.spec.whatwg.org/#dom-body-bodyused] ' + |
| 248 'Response.bodyUsed should be initially false.'); | 252 'Response.bodyUsed should be initially false.'); |
| 249 return response.text().then(function() { | 253 return response.text().then(function() { |
| 250 assert_true( | 254 assert_true( |
| 251 response.bodyUsed, | 255 response.bodyUsed, |
| 252 '[https://fetch.spec.whatwg.org/#concept-body-consume-body] ' + | 256 '[https://fetch.spec.whatwg.org/#concept-body-consume-body] ' + |
| 253 'The text() method should make the body disturbed.'); | 257 'The text() method should make the body disturbed.'); |
| 254 var request = new Request(test_url); | 258 var request = new Request(test_url); |
| 255 return cache.put(request, response).then(() => { | 259 return cache.put(request, response).then(() => { |
| 256 assert_unreached('cache.put should be rejected'); | 260 assert_unreached('cache.put should be rejected'); |
| 257 }, () => {}); | 261 }, () => {}); |
| 258 }); | 262 }); |
| 259 }, 'Cache.put with a used response body'); | 263 }, 'Cache.put with a used response body'); |
| 260 | 264 |
| 261 cache_test(function(cache) { | 265 cache_test(function(cache) { |
| 262 var response = new Response(test_body); | 266 var response = new Response(test_body); |
| 263 return cache.put(new Request(test_url), response) | 267 return cache.put(new Request(test_url), response) |
| 264 .then(function() { | 268 .then(function() { |
| 265 assert_throws(new TypeError(), () => response.body.getReader()); | 269 assert_throws(new TypeError(), () => response.body.getReader()); |
| 266 }); | 270 }); |
| 267 }, 'getReader() after Cache.put'); | 271 }, 'getReader() after Cache.put'); |
| 268 | 272 |
| 269 cache_test(function(cache) { | 273 cache_test(function(cache, test) { |
| 270 return assert_promise_rejects( | 274 return promise_rejects( |
| 275 test, |
| 276 new TypeError(), |
| 271 cache.put(new Request(test_url), | 277 cache.put(new Request(test_url), |
| 272 new Response(test_body, { headers: { VARY: '*' }})), | 278 new Response(test_body, { headers: { VARY: '*' }})), |
| 273 new TypeError(), | |
| 274 'Cache.put should reject VARY:* Responses with a TypeError.'); | 279 'Cache.put should reject VARY:* Responses with a TypeError.'); |
| 275 }, 'Cache.put with a VARY:* Response'); | 280 }, 'Cache.put with a VARY:* Response'); |
| 276 | 281 |
| 277 cache_test(function(cache) { | 282 cache_test(function(cache, test) { |
| 278 return assert_promise_rejects( | 283 return promise_rejects( |
| 284 test, |
| 285 new TypeError(), |
| 279 cache.put(new Request(test_url), | 286 cache.put(new Request(test_url), |
| 280 new Response(test_body, | 287 new Response(test_body, |
| 281 { headers: { VARY: 'Accept-Language,*' }})), | 288 { headers: { VARY: 'Accept-Language,*' }})), |
| 282 new TypeError(), | |
| 283 'Cache.put should reject Responses with an embedded VARY:* with a ' + | 289 'Cache.put should reject Responses with an embedded VARY:* with a ' + |
| 284 'TypeError.'); | 290 'TypeError.'); |
| 285 }, 'Cache.put with an embedded VARY:* Response'); | 291 }, 'Cache.put with an embedded VARY:* Response'); |
| 286 | 292 |
| 287 done(); | 293 done(); |
| OLD | NEW |