Chromium Code Reviews| 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..a3a7315d95bd5739d3fec0da0dd3fb22c7f7b088 |
| --- /dev/null |
| +++ b/LayoutTests/http/tests/serviceworker/resources/cache-storage-keys-worker.js |
| @@ -0,0 +1,34 @@ |
| +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.'); |
| + if (keys.length > 0) { |
| + return Promise.all(keys.map(function(key) { |
| + return self.caches.delete(key); |
| + })); |
| + } else { |
| + return Promise.resolve(true); |
|
jsbell
2014/08/28 21:07:26
No need for this special case if keys.length === 0
asanka
2014/08/28 21:59:46
Done.
|
| + } |
| + }) |
| + .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, |
|
jsbell
2014/08/28 21:07:26
Order is apparently not guaranteed. Needs an "equi
jsbell
2014/08/28 21:49:01
Apparently we're supposed to preserve the order, s
asanka
2014/08/28 21:59:46
Acknowledged.
|
| + test_cache_list, |
| + 'CacheStorage.keys should only return ' + |
| + 'existing caches.'); |
| + }); |
| + }, 'CacheStorage keys'); |