Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(836)

Unified Diff: webkit/appcache/appcache_storage_unittest.cc

Issue 300043: MockAppCacheStorage implemenation (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/appcache/appcache_storage_unittest.cc
===================================================================
--- webkit/appcache/appcache_storage_unittest.cc (revision 29670)
+++ webkit/appcache/appcache_storage_unittest.cc (working copy)
@@ -2,19 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/message_loop.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "webkit/appcache/appcache.h"
#include "webkit/appcache/appcache_group.h"
+#include "webkit/appcache/appcache_response.h"
#include "webkit/appcache/appcache_storage.h"
-#include "webkit/appcache/appcache_response.h"
#include "webkit/appcache/mock_appcache_service.h"
namespace appcache {
class AppCacheStorageTest : public testing::Test {
+ public:
+ class MockStorageDelegate : public AppCacheStorage::Delegate {
+ public:
+ };
};
-TEST(AppCacheStorageTest, AddRemoveCache) {
+TEST_F(AppCacheStorageTest, AddRemoveCache) {
MockAppCacheService service;
scoped_refptr<AppCache> cache = new AppCache(&service, 111);
@@ -30,7 +35,7 @@
dummy.storage()->working_set()->RemoveCache(cache);
}
-TEST(AppCacheStorageTest, AddRemoveGroup) {
+TEST_F(AppCacheStorageTest, AddRemoveGroup) {
MockAppCacheService service;
scoped_refptr<AppCacheGroup> group =
new AppCacheGroup(&service, GURL::EmptyGURL());
@@ -47,7 +52,7 @@
dummy.storage()->working_set()->RemoveGroup(group);
}
-TEST(AppCacheStorageTest, AddRemoveResponseInfo) {
+TEST_F(AppCacheStorageTest, AddRemoveResponseInfo) {
MockAppCacheService service;
scoped_refptr<AppCacheResponseInfo> info =
new AppCacheResponseInfo(&service, 111, new net::HttpResponseInfo);
@@ -64,4 +69,42 @@
dummy.storage()->working_set()->RemoveResponseInfo(info);
}
+TEST_F(AppCacheStorageTest, DelegateReferences) {
+ typedef scoped_refptr<AppCacheStorage::DelegateReference>
+ ScopedDelegateReference;
+ MockAppCacheService service;
+ MockStorageDelegate delegate;
+ ScopedDelegateReference delegate_reference1;
+ ScopedDelegateReference delegate_reference2;
+
+ EXPECT_FALSE(service.storage()->GetDelegateReference(&delegate));
+
+ delegate_reference1 =
+ service.storage()->GetOrCreateDelegateReference(&delegate);
+ EXPECT_TRUE(delegate_reference1.get());
+ EXPECT_TRUE(delegate_reference1->HasOneRef());
+ EXPECT_TRUE(service.storage()->GetDelegateReference(&delegate));
+ EXPECT_EQ(&delegate,
+ service.storage()->GetDelegateReference(&delegate)->delegate);
+ EXPECT_EQ(service.storage()->GetDelegateReference(&delegate),
+ service.storage()->GetOrCreateDelegateReference(&delegate));
+ delegate_reference1 = NULL;
+ EXPECT_FALSE(service.storage()->GetDelegateReference(&delegate));
+
+ delegate_reference1 =
+ service.storage()->GetOrCreateDelegateReference(&delegate);
+ service.storage()->CancelDelegateCallbacks(&delegate);
+ EXPECT_TRUE(delegate_reference1.get());
+ EXPECT_TRUE(delegate_reference1->HasOneRef());
+ EXPECT_FALSE(delegate_reference1->delegate);
+ EXPECT_FALSE(service.storage()->GetDelegateReference(&delegate));
+
+ delegate_reference2 =
+ service.storage()->GetOrCreateDelegateReference(&delegate);
+ EXPECT_TRUE(delegate_reference2.get());
+ EXPECT_TRUE(delegate_reference2->HasOneRef());
+ EXPECT_EQ(&delegate, delegate_reference2->delegate);
+ EXPECT_NE(delegate_reference1.get(), delegate_reference2.get());
+}
+
} // namespace appcache

Powered by Google App Engine
This is Rietveld 408576698