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..4affbfb5e969e4769fe4aeb2323edfdcd00aa7b3 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js |
@@ -0,0 +1,31 @@ |
+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() |
jsbell
2014/08/21 20:35:01
This need to do a cleanup pass, otherwise it may r
asanka
2014/08/21 21:50:59
Done.
|
+ .then(function(keys) { |
+ assert_true(Array.isArray(keys), |
+ 'CacheStorage.keys should return an Array.'); |
+ assert_equals(keys.length, 0, |
+ 'CacheStorage.keys should return an empty list for ' + |
+ 'a new ServiceWorker.'); |
+ }) |
+ |
+ .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'); |