| OLD | NEW |
| (Empty) |
| 1 importScripts('worker-testharness.js'); | |
| 2 importScripts('/resources/testharness-helpers.js'); | |
| 3 | |
| 4 var test_url = 'https://example.com/foo'; | |
| 5 | |
| 6 // Construct a generic Request object. The URL is |test_url|. All other fields | |
| 7 // are defaults. | |
| 8 function new_test_request() { | |
| 9 return new Request(test_url); | |
| 10 } | |
| 11 | |
| 12 // Construct a generic Response object. | |
| 13 function new_test_response() { | |
| 14 return new Response('Hello world!', { status: 200 }); | |
| 15 } | |
| 16 | |
| 17 cache_test(function(cache) { | |
| 18 return assert_promise_rejects( | |
| 19 cache.delete(), | |
| 20 new TypeError(), | |
| 21 'Cache.delete should reject with a TypeError when called with no ' + | |
| 22 'arguments.'); | |
| 23 }, 'Cache.delete with no arguments'); | |
| 24 | |
| 25 cache_test(function(cache) { | |
| 26 return cache.put(new_test_request(), new_test_response()) | |
| 27 .then(function() { | |
| 28 return cache.delete(test_url); | |
| 29 }) | |
| 30 .then(function(result) { | |
| 31 assert_true(result, | |
| 32 'Cache.delete should resolve with "true" if an entry ' + | |
| 33 'was successfully deleted.'); | |
| 34 }) | |
| 35 .then(function() { | |
| 36 assert_promise_rejects( | |
| 37 cache.match(test_url), | |
| 38 'NotFoundError', | |
| 39 'Cache.delete should remove matching entries from cache.'); | |
| 40 }); | |
| 41 }, 'Cache.delete called with a string URL'); | |
| 42 | |
| 43 cache_test(function(cache) { | |
| 44 var request = new Request(test_url, { method: 'POST', body: 'Abc' }); | |
| 45 return cache.put(request.clone(), new_test_response()) | |
| 46 .then(function() { | |
| 47 return cache.delete(request); | |
| 48 }) | |
| 49 .then(function(result) { | |
| 50 assert_true(result, | |
| 51 'Cache.delete should resolve with "true" if an entry ' + | |
| 52 'was successfully deleted.'); | |
| 53 assert_false(request.bodyUsed, | |
| 54 'Cache.delete should not consume request body.'); | |
| 55 }); | |
| 56 }, 'Cache.delete called with a Request object'); | |
| 57 | |
| 58 cache_test(function(cache) { | |
| 59 var request = new Request(test_url, { method: 'POST', body: 'Abc' }); | |
| 60 return cache.put(request.clone(), new_test_response()) | |
| 61 .then(function() { | |
| 62 return request.text(); | |
| 63 }) | |
| 64 .then(function() { | |
| 65 assert_true(request.bodyUsed, | |
| 66 '[https://fetch.spec.whatwg.org/#body-mixin] ' + | |
| 67 'Request.bodyUsed should be true after text() method ' + | |
| 68 'resolves.'); | |
| 69 }) | |
| 70 .then(function() { | |
| 71 return cache.delete(request); | |
| 72 }) | |
| 73 .then(function(result) { | |
| 74 assert_true(result, | |
| 75 'Cache.delete should resolve with "true" if an entry ' + | |
| 76 'was successfully deleted.'); | |
| 77 }); | |
| 78 }, 'Cache.delete with a Request object containing used body'); | |
| 79 | |
| 80 cache_test(function(cache) { | |
| 81 return cache.delete(test_url) | |
| 82 .then(function(result) { | |
| 83 assert_false(result, | |
| 84 'Cache.delete should resolve with "false" if there ' + | |
| 85 'are no matching entries.'); | |
| 86 }); | |
| 87 }, 'Cache.delete with a non-existent entry'); | |
| 88 | |
| 89 var cache_entries = { | |
| 90 a: { | |
| 91 request: new Request('http://example.com/abc'), | |
| 92 response: new Response('') | |
| 93 }, | |
| 94 | |
| 95 b: { | |
| 96 request: new Request('http://example.com/b'), | |
| 97 response: new Response('') | |
| 98 }, | |
| 99 | |
| 100 a_with_query: { | |
| 101 request: new Request('http://example.com/abc?q=r'), | |
| 102 response: new Response('') | |
| 103 } | |
| 104 }; | |
| 105 | |
| 106 function prepopulated_cache_test(test_function, description) { | |
| 107 cache_test(function(cache) { | |
| 108 return Promise.all(Object.keys(cache_entries).map(function(k) { | |
| 109 return cache.put(cache_entries[k].request.clone(), | |
| 110 cache_entries[k].response.clone()); | |
| 111 })) | |
| 112 .then(function() { | |
| 113 return test_function(cache); | |
| 114 }); | |
| 115 }, description); | |
| 116 } | |
| OLD | NEW |