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..a6ebc52c27109d5f62ed12b90b28994f23174373 100644 |
--- a/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js |
+++ b/LayoutTests/http/tests/serviceworker/resources/worker-testharness.js |
@@ -72,3 +72,32 @@ 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; |
+})(); |
+ |
+function cache_test(test_function, description) { |
+ promise_test(function(test) { |
+ return create_temporary_cache(test) |
+ .then(test_function); |
+ }, description); |
+} |