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

Unified Diff: net/http/http_cache_unittest.cc

Issue 12886022: Implement offline mode behind a flag (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added tests. Created 7 years, 8 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: net/http/http_cache_unittest.cc
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc
index ed4524f3eb90a25150911118029f212e2e8cec5d..f9c8a64440c9f3b79ff5e99324a9f437b06b2522 100644
--- a/net/http/http_cache_unittest.cc
+++ b/net/http/http_cache_unittest.cc
@@ -502,11 +502,14 @@ TEST(HttpCache, SimpleGET) {
MockHttpCache cache;
// write to the cache
- RunTransactionTest(cache.http_cache(), kSimpleGET_Transaction);
+ net::HttpResponseInfo response_info;
+ RunTransactionTestWithResponseInfo(cache.http_cache(), kSimpleGET_Transaction,
rvargas (doing something else) 2013/04/08 19:11:52 SimpleGET_NetworkAccessed_Cache is a superset of w
Randy Smith (Not in Mondays) 2013/04/08 21:03:11 SimpleGET_NetworkAccessed_Cache doesn't test to ma
+ &response_info);
EXPECT_EQ(1, cache.network_layer()->transaction_count());
EXPECT_EQ(0, cache.disk_cache()->open_count());
EXPECT_EQ(1, cache.disk_cache()->create_count());
+ EXPECT_TRUE(response_info.network_accessed);
}
TEST(HttpCache, SimpleGETNoDiskCache) {
@@ -878,6 +881,7 @@ TEST(HttpCache, SimpleGET_CacheOverride_Network) {
EXPECT_EQ(2, cache.network_layer()->transaction_count());
EXPECT_FALSE(response_info.server_data_unavailable);
+ EXPECT_TRUE(response_info.network_accessed);
RemoveMockTransaction(&transaction);
}
@@ -917,6 +921,7 @@ TEST(HttpCache, SimpleGET_CacheOverride_Offline) {
ASSERT_TRUE(response_info);
EXPECT_TRUE(response_info->server_data_unavailable);
EXPECT_TRUE(response_info->was_cached);
+ EXPECT_FALSE(response_info->network_accessed);
ReadAndVerifyTransaction(trans.get(), transaction);
EXPECT_EQ(2, cache.network_layer()->transaction_count());
@@ -924,7 +929,7 @@ TEST(HttpCache, SimpleGET_CacheOverride_Offline) {
}
// Tests that LOAD_FROM_CACHE_IF_OFFLINE returns proper response on
-// non-offline failure failure
+// non-offline failure.
TEST(HttpCache, SimpleGET_CacheOverride_NonOffline) {
MockHttpCache cache;
@@ -953,6 +958,33 @@ TEST(HttpCache, SimpleGET_CacheOverride_NonOffline) {
RemoveMockTransaction(&transaction);
}
+// Confirm if we have a fresh entry in cache, it isn't marked as
+// network verified.
+TEST(HttpCache, SimpleGET_NetworkAccessed_Cache) {
+ MockHttpCache cache;
+
+ // Prime cache.
+ MockTransaction transaction(kSimpleGET_Transaction);
+
+ AddMockTransaction(&transaction);
rvargas (doing something else) 2013/04/08 19:11:52 The predefined transactions are already registered
Randy Smith (Not in Mondays) 2013/04/08 21:03:11 Done.
+ RunTransactionTest(cache.http_cache(), transaction);
+ EXPECT_EQ(1, cache.network_layer()->transaction_count());
+ EXPECT_EQ(1, cache.disk_cache()->create_count());
+ RemoveMockTransaction(&transaction);
+
+ // Re-run transaction; make sure we don't mark the network as accessed.
+ AddMockTransaction(&transaction);
+ net::HttpResponseInfo response_info;
+ RunTransactionTestWithResponseInfo(cache.http_cache(), transaction,
+ &response_info);
+
+ EXPECT_EQ(1, cache.network_layer()->transaction_count());
+ EXPECT_FALSE(response_info.server_data_unavailable);
+ EXPECT_FALSE(response_info.network_accessed);
+
+ RemoveMockTransaction(&transaction);
+}
+
TEST(HttpCache, SimpleGET_LoadBypassCache) {
MockHttpCache cache;
@@ -1044,11 +1076,14 @@ TEST(HttpCache, SimpleGET_LoadValidateCache) {
MockTransaction transaction(kSimpleGET_Transaction);
transaction.load_flags |= net::LOAD_VALIDATE_CACHE;
- RunTransactionTest(cache.http_cache(), transaction);
+ net::HttpResponseInfo response_info;
+ RunTransactionTestWithResponseInfo(cache.http_cache(), transaction,
+ &response_info);
EXPECT_EQ(2, cache.network_layer()->transaction_count());
EXPECT_EQ(1, cache.disk_cache()->open_count());
EXPECT_EQ(1, cache.disk_cache()->create_count());
+ EXPECT_TRUE(response_info.network_accessed);
}
TEST(HttpCache, SimpleGET_LoadValidateCache_Implicit) {

Powered by Google App Engine
This is Rietveld 408576698