| Index: third_party/WebKit/LayoutTests/imported/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/service-workers/cache-storage/script-tests/cache-delete.js b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..75a474c2b2c9101f15ea32c6a1e92a5d4da7befc
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/cache-storage/script-tests/cache-delete.js
|
| @@ -0,0 +1,96 @@
|
| +if (self.importScripts) {
|
| + importScripts('/resources/testharness.js');
|
| + importScripts('../resources/testharness-helpers.js');
|
| + importScripts('../resources/test-helpers.js');
|
| +}
|
| +
|
| +var test_url = 'https://example.com/foo';
|
| +
|
| +// Construct a generic Request object. The URL is |test_url|. All other fields
|
| +// are defaults.
|
| +function new_test_request() {
|
| + return new Request(test_url);
|
| +}
|
| +
|
| +// Construct a generic Response object.
|
| +function new_test_response() {
|
| + return new Response('Hello world!', { status: 200 });
|
| +}
|
| +
|
| +cache_test(function(cache) {
|
| + return assert_promise_rejects(
|
| + cache.delete(),
|
| + new TypeError(),
|
| + 'Cache.delete should reject with a TypeError when called with no ' +
|
| + 'arguments.');
|
| + }, 'Cache.delete with no arguments');
|
| +
|
| +cache_test(function(cache) {
|
| + return cache.put(new_test_request(), new_test_response())
|
| + .then(function() {
|
| + return cache.delete(test_url);
|
| + })
|
| + .then(function(result) {
|
| + assert_true(result,
|
| + 'Cache.delete should resolve with "true" if an entry ' +
|
| + 'was successfully deleted.');
|
| + return cache.match(test_url);
|
| + })
|
| + .then(function(result) {
|
| + assert_equals(result, undefined,
|
| + 'Cache.delete should remove matching entries from cache.');
|
| + });
|
| + }, 'Cache.delete called with a string URL');
|
| +
|
| +cache_test(function(cache) {
|
| + var request = new Request(test_url);
|
| + return cache.put(request, new_test_response())
|
| + .then(function() {
|
| + return cache.delete(request);
|
| + })
|
| + .then(function(result) {
|
| + assert_true(result,
|
| + 'Cache.delete should resolve with "true" if an entry ' +
|
| + 'was successfully deleted.');
|
| + });
|
| + }, 'Cache.delete called with a Request object');
|
| +
|
| +cache_test(function(cache) {
|
| + return cache.delete(test_url)
|
| + .then(function(result) {
|
| + assert_false(result,
|
| + 'Cache.delete should resolve with "false" if there ' +
|
| + 'are no matching entries.');
|
| + });
|
| + }, 'Cache.delete with a non-existent entry');
|
| +
|
| +var cache_entries = {
|
| + a: {
|
| + request: new Request('http://example.com/abc'),
|
| + response: new Response('')
|
| + },
|
| +
|
| + b: {
|
| + request: new Request('http://example.com/b'),
|
| + response: new 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);
|
| +}
|
| +
|
| +done();
|
|
|