| Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-delete.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| index bf7841a7e5f6255e5ae8f4ebdabd2872a6fa9514..3cf9aeb4c23a9f7ad1d5433f2d5f4e46e4e8fdd1 100644
|
| --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| @@ -71,10 +71,40 @@ cache_test(function(cache) {
|
| .then(function(result) {
|
| assert_response_equals(result, response,
|
| 'Cache.delete should leave non-matching response in the cache.');
|
| + return cache.delete(new Request(test_url, {method: 'HEAD'}),
|
| + {ignoreMethod: true});
|
| + })
|
| + .then(function(result) {
|
| + assert_true(result,
|
| + 'Cache.delete should match a non-GET request ' +
|
| + ' if ignoreMethod is true.');
|
| });
|
| }, 'Cache.delete called with a HEAD request');
|
|
|
| cache_test(function(cache) {
|
| + var vary_request = new Request('http://example.com/c',
|
| + {headers: {'Cookies': 'is-for-cookie'}});
|
| + var vary_response = new Response('', {headers: {'Vary': 'Cookies'}});
|
| + var mismatched_vary_request = new Request('http://example.com/c');
|
| +
|
| + return cache.put(vary_request.clone(), vary_response.clone())
|
| + .then(function() {
|
| + return cache.delete(mismatched_vary_request.clone());
|
| + })
|
| + .then(function(result) {
|
| + assert_false(result,
|
| + 'Cache.delete should not delete if vary does not ' +
|
| + 'match unless ignoreVary is true');
|
| + return cache.delete(mismatched_vary_request.clone(),
|
| + {ignoreVary: true});
|
| + })
|
| + .then(function(result) {
|
| + assert_true(result,
|
| + 'Cache.delete should ignore vary if ignoreVary is true');
|
| + });
|
| + }, 'Cache.delete supports ignoreVary');
|
| +
|
| +cache_test(function(cache) {
|
| return cache.delete(test_url)
|
| .then(function(result) {
|
| assert_false(result,
|
| @@ -83,33 +113,52 @@ cache_test(function(cache) {
|
| });
|
| }, 'Cache.delete with a non-existent entry');
|
|
|
| -var cache_entries = {
|
| - a: {
|
| - request: new Request('http://example.com/abc'),
|
| - response: new Response('')
|
| +prepopulated_cache_test(simple_entries, function(cache, entries) {
|
| + return cache.matchAll(entries.a_with_query.request,
|
| + { ignoreSearch: true })
|
| + .then(function(result) {
|
| + assert_response_array_equals(
|
| + result,
|
| + [
|
| + entries.a.response,
|
| + entries.a_with_query.response
|
| + ]);
|
| + return cache.delete(entries.a_with_query.request,
|
| + { ignoreSearch: true });
|
| + })
|
| + .then(function(result) {
|
| + return cache.matchAll(entries.a_with_query.request,
|
| + { ignoreSearch: true });
|
| + })
|
| + .then(function(result) {
|
| + assert_response_array_equals(result, []);
|
| + });
|
| },
|
| + 'Cache.delete with ignoreSearch option (request with search parameters)');
|
|
|
| - b: {
|
| - request: new Request('http://example.com/b'),
|
| - response: new Response('')
|
| +prepopulated_cache_test(simple_entries, function(cache, entries) {
|
| + return cache.matchAll(entries.a_with_query.request,
|
| + { ignoreSearch: true })
|
| + .then(function(result) {
|
| + assert_response_array_equals(
|
| + result,
|
| + [
|
| + entries.a.response,
|
| + entries.a_with_query.response
|
| + ]);
|
| + // cache.delete()'s behavior should be the same if ignoreSearch is
|
| + // not provided or if ignoreSearch is false.
|
| + return cache.delete(entries.a_with_query.request,
|
| + { ignoreSearch: false });
|
| + })
|
| + .then(function(result) {
|
| + return cache.matchAll(entries.a_with_query.request,
|
| + { ignoreSearch: true });
|
| + })
|
| + .then(function(result) {
|
| + assert_response_array_equals(result, [ entries.a.response ]);
|
| + });
|
| },
|
| -
|
| - a_with_query: {
|
| - request: new Request('http://example.com/abc?q=r'),
|
| - response: new Response('')
|
| - }
|
| -};
|
| -
|
| -function prepopulated_cache_test(test_function, description) {
|
| - cache_test(function(cache) {
|
| - return Promise.all(Object.keys(cache_entries).map(function(k) {
|
| - return cache.put(cache_entries[k].request.clone(),
|
| - cache_entries[k].response.clone());
|
| - }))
|
| - .then(function() {
|
| - return test_function(cache);
|
| - });
|
| - }, description);
|
| -}
|
| + 'Cache.delete with ignoreSearch option (when it is specified as false)');
|
|
|
| done();
|
|
|