| Index: LayoutTests/http/tests/serviceworker/resources/worker-testharness.js
|
| diff --git a/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js b/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js
|
| index 986c86a82ed7d8960380e258e78f03d5ccdd8bf8..6767dadf7b4941d99feede23804d1ac6cec2ecb0 100644
|
| --- a/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js
|
| +++ b/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js
|
| @@ -72,3 +72,41 @@ importScripts('/resources/testharness.js');
|
| }
|
| });
|
| })();
|
| +
|
| +(function() {
|
| + var next_cache_index = 1;
|
| +
|
| + // Returns a promise that resolves to a newly created Cache object. The
|
| + // returned Cache will be destroyed when |test| completes.
|
| + function create_temporary_cache(test) {
|
| + var uniquifier = String(++next_cache_index);
|
| + var cache_name = self.location.pathname + '/' + uniquifier;
|
| +
|
| + test.add_cleanup(function() {
|
| + self.caches.delete(cache_name);
|
| + });
|
| +
|
| + return self.caches.delete(cache_name)
|
| + .then(function() {
|
| + return self.caches.open(cache_name);
|
| + });
|
| + }
|
| +
|
| + self.create_temporary_cache = create_temporary_cache;
|
| +})();
|
| +
|
| +// Runs |test_function| with a temporary unique Cache passed in as the only
|
| +// argument. The function is run as a part of Promise chain owned by
|
| +// promise_test(). As such, it is expected to behave in a manner identical (with
|
| +// the exception of the argument) to a function passed into promise_test().
|
| +//
|
| +// E.g.:
|
| +// cache_test(function(cache) {
|
| +// // Do something with |cache|, which is a Cache object.
|
| +// }, "Some Cache test");
|
| +function cache_test(test_function, description) {
|
| + promise_test(function(test) {
|
| + return create_temporary_cache(test)
|
| + .then(test_function);
|
| + }, description);
|
| +}
|
|
|