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

Side by Side Diff: content/browser/appcache/appcache_host_unittest.cc

Issue 344493002: Move all remaining appcache-related code to content namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "content/browser/appcache/appcache.h"
10 #include "content/browser/appcache/appcache_backend_impl.h"
11 #include "content/browser/appcache/appcache_group.h"
12 #include "content/browser/appcache/appcache_host.h"
9 #include "content/browser/appcache/mock_appcache_policy.h" 13 #include "content/browser/appcache/mock_appcache_policy.h"
10 #include "content/browser/appcache/mock_appcache_service.h" 14 #include "content/browser/appcache/mock_appcache_service.h"
11 #include "net/url_request/url_request.h" 15 #include "net/url_request/url_request.h"
12 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
13 #include "webkit/browser/appcache/appcache.h"
14 #include "webkit/browser/appcache/appcache_backend_impl.h"
15 #include "webkit/browser/appcache/appcache_group.h"
16 #include "webkit/browser/appcache/appcache_host.h"
17 #include "webkit/browser/quota/quota_manager.h" 17 #include "webkit/browser/quota/quota_manager.h"
18 18
19 using appcache::AppCache;
20 using appcache::AppCacheBackendImpl;
21 using appcache::AppCacheEntry;
22 using appcache::AppCacheFrontend;
23 using appcache::AppCacheGroup;
24 using appcache::AppCacheHost;
25 using appcache::kAppCacheNoCacheId;
26 using appcache::APPCACHE_ERROR_EVENT;
27 using appcache::APPCACHE_STATUS_OBSOLETE;
28 using appcache::APPCACHE_OBSOLETE_EVENT;
29 using appcache::APPCACHE_PROGRESS_EVENT;
30 using appcache::AppCacheStatus;
31 using appcache::APPCACHE_STATUS_UNCACHED;
32
33 namespace content { 19 namespace content {
34 20
35 class AppCacheHostTest : public testing::Test { 21 class AppCacheHostTest : public testing::Test {
36 public: 22 public:
37 AppCacheHostTest() { 23 AppCacheHostTest() {
38 get_status_callback_ = 24 get_status_callback_ =
39 base::Bind(&AppCacheHostTest::GetStatusCallback, 25 base::Bind(&AppCacheHostTest::GetStatusCallback,
40 base::Unretained(this)); 26 base::Unretained(this));
41 start_update_callback_ = 27 start_update_callback_ =
42 base::Bind(&AppCacheHostTest::StartUpdateCallback, 28 base::Bind(&AppCacheHostTest::StartUpdateCallback,
43 base::Unretained(this)); 29 base::Unretained(this));
44 swap_cache_callback_ = 30 swap_cache_callback_ =
45 base::Bind(&AppCacheHostTest::SwapCacheCallback, 31 base::Bind(&AppCacheHostTest::SwapCacheCallback,
46 base::Unretained(this)); 32 base::Unretained(this));
47 } 33 }
48 34
49 class MockFrontend : public AppCacheFrontend { 35 class MockFrontend : public AppCacheFrontend {
50 public: 36 public:
51 MockFrontend() 37 MockFrontend()
52 : last_host_id_(-222), last_cache_id_(-222), 38 : last_host_id_(-222), last_cache_id_(-222),
53 last_status_(appcache::APPCACHE_STATUS_OBSOLETE), 39 last_status_(APPCACHE_STATUS_OBSOLETE),
54 last_status_changed_(appcache::APPCACHE_STATUS_OBSOLETE), 40 last_status_changed_(APPCACHE_STATUS_OBSOLETE),
55 last_event_id_(appcache::APPCACHE_OBSOLETE_EVENT), 41 last_event_id_(APPCACHE_OBSOLETE_EVENT),
56 content_blocked_(false) { 42 content_blocked_(false) {
57 } 43 }
58 44
59 virtual void OnCacheSelected( 45 virtual void OnCacheSelected(
60 int host_id, const appcache::AppCacheInfo& info) OVERRIDE { 46 int host_id, const AppCacheInfo& info) OVERRIDE {
61 last_host_id_ = host_id; 47 last_host_id_ = host_id;
62 last_cache_id_ = info.cache_id; 48 last_cache_id_ = info.cache_id;
63 last_status_ = info.status; 49 last_status_ = info.status;
64 } 50 }
65 51
66 virtual void OnStatusChanged(const std::vector<int>& host_ids, 52 virtual void OnStatusChanged(const std::vector<int>& host_ids,
67 appcache::AppCacheStatus status) OVERRIDE { 53 AppCacheStatus status) OVERRIDE {
68 last_status_changed_ = status; 54 last_status_changed_ = status;
69 } 55 }
70 56
71 virtual void OnEventRaised(const std::vector<int>& host_ids, 57 virtual void OnEventRaised(const std::vector<int>& host_ids,
72 appcache::AppCacheEventID event_id) OVERRIDE { 58 AppCacheEventID event_id) OVERRIDE {
73 last_event_id_ = event_id; 59 last_event_id_ = event_id;
74 } 60 }
75 61
76 virtual void OnErrorEventRaised( 62 virtual void OnErrorEventRaised(
77 const std::vector<int>& host_ids, 63 const std::vector<int>& host_ids,
78 const appcache::AppCacheErrorDetails& details) OVERRIDE { 64 const AppCacheErrorDetails& details) OVERRIDE {
79 last_event_id_ = APPCACHE_ERROR_EVENT; 65 last_event_id_ = APPCACHE_ERROR_EVENT;
80 } 66 }
81 67
82 virtual void OnProgressEventRaised(const std::vector<int>& host_ids, 68 virtual void OnProgressEventRaised(const std::vector<int>& host_ids,
83 const GURL& url, 69 const GURL& url,
84 int num_total, 70 int num_total,
85 int num_complete) OVERRIDE { 71 int num_complete) OVERRIDE {
86 last_event_id_ = APPCACHE_PROGRESS_EVENT; 72 last_event_id_ = APPCACHE_PROGRESS_EVENT;
87 } 73 }
88 74
89 virtual void OnLogMessage(int host_id, 75 virtual void OnLogMessage(int host_id,
90 appcache::AppCacheLogLevel log_level, 76 AppCacheLogLevel log_level,
91 const std::string& message) OVERRIDE { 77 const std::string& message) OVERRIDE {
92 } 78 }
93 79
94 virtual void OnContentBlocked(int host_id, 80 virtual void OnContentBlocked(int host_id,
95 const GURL& manifest_url) OVERRIDE { 81 const GURL& manifest_url) OVERRIDE {
96 content_blocked_ = true; 82 content_blocked_ = true;
97 } 83 }
98 84
99 int last_host_id_; 85 int last_host_id_;
100 int64 last_cache_id_; 86 int64 last_cache_id_;
101 appcache::AppCacheStatus last_status_; 87 AppCacheStatus last_status_;
102 appcache::AppCacheStatus last_status_changed_; 88 AppCacheStatus last_status_changed_;
103 appcache::AppCacheEventID last_event_id_; 89 AppCacheEventID last_event_id_;
104 bool content_blocked_; 90 bool content_blocked_;
105 }; 91 };
106 92
107 class MockQuotaManagerProxy : public quota::QuotaManagerProxy { 93 class MockQuotaManagerProxy : public quota::QuotaManagerProxy {
108 public: 94 public:
109 MockQuotaManagerProxy() : QuotaManagerProxy(NULL, NULL) {} 95 MockQuotaManagerProxy() : QuotaManagerProxy(NULL, NULL) {}
110 96
111 // Not needed for our tests. 97 // Not needed for our tests.
112 virtual void RegisterClient(quota::QuotaClient* client) OVERRIDE {} 98 virtual void RegisterClient(quota::QuotaClient* client) OVERRIDE {}
113 virtual void NotifyStorageAccessed(quota::QuotaClient::ID client_id, 99 virtual void NotifyStorageAccessed(quota::QuotaClient::ID client_id,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 last_callback_param_ = param; 151 last_callback_param_ = param;
166 } 152 }
167 153
168 base::MessageLoop message_loop_; 154 base::MessageLoop message_loop_;
169 155
170 // Mock classes for the 'host' to work with 156 // Mock classes for the 'host' to work with
171 MockAppCacheService service_; 157 MockAppCacheService service_;
172 MockFrontend mock_frontend_; 158 MockFrontend mock_frontend_;
173 159
174 // Mock callbacks we expect to receive from the 'host' 160 // Mock callbacks we expect to receive from the 'host'
175 appcache::GetStatusCallback get_status_callback_; 161 content::GetStatusCallback get_status_callback_;
176 appcache::StartUpdateCallback start_update_callback_; 162 content::StartUpdateCallback start_update_callback_;
177 appcache::SwapCacheCallback swap_cache_callback_; 163 content::SwapCacheCallback swap_cache_callback_;
178 164
179 AppCacheStatus last_status_result_; 165 AppCacheStatus last_status_result_;
180 bool last_swap_result_; 166 bool last_swap_result_;
181 bool last_start_result_; 167 bool last_start_result_;
182 void* last_callback_param_; 168 void* last_callback_param_;
183 }; 169 };
184 170
185 TEST_F(AppCacheHostTest, Basic) { 171 TEST_F(AppCacheHostTest, Basic) {
186 // Construct a host and test what state it appears to be in. 172 // Construct a host and test what state it appears to be in.
187 AppCacheHost host(1, &mock_frontend_, &service_); 173 AppCacheHost host(1, &mock_frontend_, &service_);
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 AppCache* cache1 = new AppCache(service_.storage(), 111); 366 AppCache* cache1 = new AppCache(service_.storage(), 111);
381 cache1->set_complete(true); 367 cache1->set_complete(true);
382 group1->AddCache(cache1); 368 group1->AddCache(cache1);
383 host.SetSwappableCache(group1.get()); 369 host.SetSwappableCache(group1.get());
384 EXPECT_EQ(cache1, host.swappable_cache_.get()); 370 EXPECT_EQ(cache1, host.swappable_cache_.get());
385 371
386 mock_frontend_.last_host_id_ = -222; // to verify we received OnCacheSelected 372 mock_frontend_.last_host_id_ = -222; // to verify we received OnCacheSelected
387 373
388 host.AssociateCompleteCache(cache1); 374 host.AssociateCompleteCache(cache1);
389 EXPECT_FALSE(host.swappable_cache_.get()); // was same as associated cache 375 EXPECT_FALSE(host.swappable_cache_.get()); // was same as associated cache
390 EXPECT_EQ(appcache::APPCACHE_STATUS_IDLE, host.GetStatus()); 376 EXPECT_EQ(APPCACHE_STATUS_IDLE, host.GetStatus());
391 // verify OnCacheSelected was called 377 // verify OnCacheSelected was called
392 EXPECT_EQ(host.host_id(), mock_frontend_.last_host_id_); 378 EXPECT_EQ(host.host_id(), mock_frontend_.last_host_id_);
393 EXPECT_EQ(cache1->cache_id(), mock_frontend_.last_cache_id_); 379 EXPECT_EQ(cache1->cache_id(), mock_frontend_.last_cache_id_);
394 EXPECT_EQ(appcache::APPCACHE_STATUS_IDLE, mock_frontend_.last_status_); 380 EXPECT_EQ(APPCACHE_STATUS_IDLE, mock_frontend_.last_status_);
395 381
396 AppCache* cache2 = new AppCache(service_.storage(), 222); 382 AppCache* cache2 = new AppCache(service_.storage(), 222);
397 cache2->set_complete(true); 383 cache2->set_complete(true);
398 group1->AddCache(cache2); 384 group1->AddCache(cache2);
399 EXPECT_EQ(cache2, host.swappable_cache_.get()); // updated to newest 385 EXPECT_EQ(cache2, host.swappable_cache_.get()); // updated to newest
400 386
401 scoped_refptr<AppCacheGroup> group2( 387 scoped_refptr<AppCacheGroup> group2(
402 new AppCacheGroup(service_.storage(), GURL("http://foo.com"), 388 new AppCacheGroup(service_.storage(), GURL("http://foo.com"),
403 service_.storage()->NewGroupId())); 389 service_.storage()->NewGroupId()));
404 AppCache* cache3 = new AppCache(service_.storage(), 333); 390 AppCache* cache3 = new AppCache(service_.storage(), 333);
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 EXPECT_EQ(&mock_frontend_, host.frontend()); 531 EXPECT_EQ(&mock_frontend_, host.frontend());
546 EXPECT_EQ(NULL, host.associated_cache()); 532 EXPECT_EQ(NULL, host.associated_cache());
547 EXPECT_FALSE(host.is_selection_pending()); 533 EXPECT_FALSE(host.is_selection_pending());
548 EXPECT_TRUE(host.preferred_manifest_url().is_empty()); 534 EXPECT_TRUE(host.preferred_manifest_url().is_empty());
549 } 535 }
550 EXPECT_EQ(0, mock_quota_proxy->GetInUseCount(kDocAndOriginUrl)); 536 EXPECT_EQ(0, mock_quota_proxy->GetInUseCount(kDocAndOriginUrl));
551 service_.set_quota_manager_proxy(NULL); 537 service_.set_quota_manager_proxy(NULL);
552 } 538 }
553 539
554 } // namespace content 540 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698