Index: LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js |
diff --git a/LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js b/LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0d93d4c9c6c7ef5e7e78b13cc6e49e6e75343b05 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js |
@@ -0,0 +1,30 @@ |
+importScripts('worker-test-harness.js'); |
+ |
+var test_cache_list = |
+ ['', 'example', 'Another cache name', 'A', 'a', 'ex ample']; |
+ |
+promise_test(function(test) { |
+ return self.caches.keys() |
+ .then(function(keys) { |
+ assert_true(Array.isArray(keys), |
+ 'CacheStorage.keys should return an Array.'); |
+ return Promise.all(keys.map(function(key) { |
+ return self.caches.delete(key); |
+ })); |
+ }) |
+ .then(function() { |
+ return Promise.all(test_cache_list.map(function(key) { |
+ return self.caches.create(key); |
+ })); |
+ }) |
+ |
+ .then(function() { return self.caches.keys(); }) |
+ .then(function(keys) { |
+ assert_true(Array.isArray(keys), |
+ 'CacheStorage.keys should return an Array.'); |
+ assert_array_equals(keys, |
+ test_cache_list, |
+ 'CacheStorage.keys should only return ' + |
+ 'existing caches.'); |
+ }); |
+ }, 'CacheStorage keys'); |