Index: content/browser/service_worker/service_worker_cache_storage_manager_unittest.cc |
diff --git a/content/browser/service_worker/service_worker_cache_storage_manager_unittest.cc b/content/browser/service_worker/service_worker_cache_storage_manager_unittest.cc |
index a9cf8fbfe7b6632c1c86db3540957242a51f19a0..ab142ae3757bb1002c27253ffcdcda300740f8bb 100644 |
--- a/content/browser/service_worker/service_worker_cache_storage_manager_unittest.cc |
+++ b/content/browser/service_worker/service_worker_cache_storage_manager_unittest.cc |
@@ -140,6 +140,25 @@ class ServiceWorkerCacheStorageManagerTest : public testing::Test { |
return !error; |
} |
+ bool Open(const GURL& origin, const std::string& cache_name) { |
+ scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
+ cache_manager_->OpenCache( |
+ origin, |
+ cache_name, |
+ base::Bind(&ServiceWorkerCacheStorageManagerTest::CacheAndErrorCallback, |
+ base::Unretained(this), |
+ base::Unretained(loop.get()))); |
+ loop->Run(); |
+ |
+ bool error = callback_error_ != |
+ ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR; |
+ if (error) |
+ EXPECT_TRUE(!callback_cache_.get()); |
+ else |
+ EXPECT_TRUE(callback_cache_.get()); |
+ return !error; |
+ } |
+ |
bool Has(const GURL& origin, const std::string& cache_name) { |
scoped_ptr<base::RunLoop> loop(new base::RunLoop()); |
cache_manager_->HasCache( |
@@ -295,6 +314,17 @@ TEST_P(ServiceWorkerCacheStorageManagerTestP, GetNonExistent) { |
callback_error_); |
} |
+TEST_P(ServiceWorkerCacheStorageManagerTestP, OpenNewCache) { |
+ EXPECT_TRUE(Open(origin1_, "foo")); |
+} |
+ |
+TEST_P(ServiceWorkerCacheStorageManagerTestP, OpenExistingCache) { |
+ EXPECT_TRUE(CreateCache(origin1_, "foo")); |
+ scoped_refptr<ServiceWorkerCache> cache = callback_cache_; |
+ EXPECT_TRUE(Open(origin1_, "foo")); |
+ EXPECT_TRUE(cache.get() == callback_cache_.get()); |
+} |
+ |
TEST_P(ServiceWorkerCacheStorageManagerTestP, HasCache) { |
EXPECT_TRUE(CreateCache(origin1_, "foo")); |
EXPECT_TRUE(Has(origin1_, "foo")); |