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

Side by Side Diff: webkit/appcache/appcache_host_unittest.cc

Issue 3529009: Fix http/tests/appcache/foreign-fallback.html (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/callback.h" 5 #include "base/callback.h"
6 #include "base/scoped_ptr.h" 6 #include "base/scoped_ptr.h"
7 #include "net/url_request/url_request.h" 7 #include "net/url_request/url_request.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "webkit/appcache/appcache.h" 9 #include "webkit/appcache/appcache.h"
10 #include "webkit/appcache/appcache_backend_impl.h" 10 #include "webkit/appcache/appcache_backend_impl.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 EXPECT_EQ(NULL, host.associated_cache()); 157 EXPECT_EQ(NULL, host.associated_cache());
158 EXPECT_FALSE(host.is_selection_pending()); 158 EXPECT_FALSE(host.is_selection_pending());
159 } 159 }
160 160
161 TEST_F(AppCacheHostTest, ForeignEntry) { 161 TEST_F(AppCacheHostTest, ForeignEntry) {
162 // Reset our mock frontend 162 // Reset our mock frontend
163 mock_frontend_.last_cache_id_ = -333; 163 mock_frontend_.last_cache_id_ = -333;
164 mock_frontend_.last_host_id_ = -333; 164 mock_frontend_.last_host_id_ = -333;
165 mock_frontend_.last_status_ = OBSOLETE; 165 mock_frontend_.last_status_ = OBSOLETE;
166 166
167 // Precondition, a cache with an entry that is not marked as foreign.
168 const int kCacheId = 22;
169 const GURL kDocumentURL("http://origin/document");
170 scoped_refptr<AppCache> cache = new AppCache(&service_, kCacheId);
171 cache->AddEntry(kDocumentURL, AppCacheEntry(AppCacheEntry::EXPLICIT));
172
167 AppCacheHost host(1, &mock_frontend_, &service_); 173 AppCacheHost host(1, &mock_frontend_, &service_);
168 host.MarkAsForeignEntry(GURL("http://whatever/"), 22); 174 host.MarkAsForeignEntry(kDocumentURL, kCacheId);
169 175
170 // We should have received an OnCacheSelected msg for kNoCacheId. 176 // We should have received an OnCacheSelected msg for kNoCacheId.
171 EXPECT_EQ(1, mock_frontend_.last_host_id_); 177 EXPECT_EQ(1, mock_frontend_.last_host_id_);
172 EXPECT_EQ(kNoCacheId, mock_frontend_.last_cache_id_); 178 EXPECT_EQ(kNoCacheId, mock_frontend_.last_cache_id_);
173 EXPECT_EQ(UNCACHED, mock_frontend_.last_status_); 179 EXPECT_EQ(UNCACHED, mock_frontend_.last_status_);
174 180
175 // See that it respond as if there is no cache selected. 181 // See that it respond as if there is no cache selected.
176 EXPECT_EQ(1, host.host_id()); 182 EXPECT_EQ(1, host.host_id());
177 EXPECT_EQ(&service_, host.service()); 183 EXPECT_EQ(&service_, host.service());
178 EXPECT_EQ(&mock_frontend_, host.frontend()); 184 EXPECT_EQ(&mock_frontend_, host.frontend());
179 EXPECT_EQ(NULL, host.associated_cache()); 185 EXPECT_EQ(NULL, host.associated_cache());
180 EXPECT_FALSE(host.is_selection_pending()); 186 EXPECT_FALSE(host.is_selection_pending());
187
188 // See that the entry was marked as foreign.
189 EXPECT_TRUE(cache->GetEntry(kDocumentURL)->IsForeign());
190 }
191
192 TEST_F(AppCacheHostTest, ForeignFallbackEntry) {
193 // Reset our mock frontend
194 mock_frontend_.last_cache_id_ = -333;
195 mock_frontend_.last_host_id_ = -333;
196 mock_frontend_.last_status_ = OBSOLETE;
197
198 // Precondition, a cache with a fallback entry that is not marked as foreign.
199 const int kCacheId = 22;
200 const GURL kFallbackURL("http://origin/fallback_resource");
201 scoped_refptr<AppCache> cache = new AppCache(&service_, kCacheId);
202 cache->AddEntry(kFallbackURL, AppCacheEntry(AppCacheEntry::FALLBACK));
203
204 AppCacheHost host(1, &mock_frontend_, &service_);
205 host.NotifyMainResourceFallback(kFallbackURL);
206 host.MarkAsForeignEntry(GURL("http://origin/missing_document"), kCacheId);
207
208 // We should have received an OnCacheSelected msg for kNoCacheId.
209 EXPECT_EQ(1, mock_frontend_.last_host_id_);
210 EXPECT_EQ(kNoCacheId, mock_frontend_.last_cache_id_);
211 EXPECT_EQ(UNCACHED, mock_frontend_.last_status_);
212
213 // See that it respond as if there is no cache selected.
214 EXPECT_EQ(1, host.host_id());
215 EXPECT_EQ(&service_, host.service());
216 EXPECT_EQ(&mock_frontend_, host.frontend());
217 EXPECT_EQ(NULL, host.associated_cache());
218 EXPECT_FALSE(host.is_selection_pending());
kinuko 2010/11/02 07:47:23 Do we need to test all of them in both ForeignEntr
michaeln 2010/11/02 20:25:36 It does seem like some of these are redundant. How
kinuko 2010/11/03 00:25:18 sgtm!
219
220 // See that the fallback entry was marked as foreign.
221 EXPECT_TRUE(cache->GetEntry(kFallbackURL)->IsForeign());
181 } 222 }
182 223
183 TEST_F(AppCacheHostTest, FailedCacheLoad) { 224 TEST_F(AppCacheHostTest, FailedCacheLoad) {
184 // Reset our mock frontend 225 // Reset our mock frontend
185 mock_frontend_.last_cache_id_ = -333; 226 mock_frontend_.last_cache_id_ = -333;
186 mock_frontend_.last_host_id_ = -333; 227 mock_frontend_.last_host_id_ = -333;
187 mock_frontend_.last_status_ = OBSOLETE; 228 mock_frontend_.last_status_ = OBSOLETE;
188 229
189 AppCacheHost host(1, &mock_frontend_, &service_); 230 AppCacheHost host(1, &mock_frontend_, &service_);
190 EXPECT_FALSE(host.is_selection_pending()); 231 EXPECT_FALSE(host.is_selection_pending());
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 388
348 // Simulate the parent being torn down. 389 // Simulate the parent being torn down.
349 backend_impl.UnregisterHost(kParentHostId); 390 backend_impl.UnregisterHost(kParentHostId);
350 parent_host = NULL; 391 parent_host = NULL;
351 EXPECT_EQ(NULL, backend_impl.GetHost(kParentHostId)); 392 EXPECT_EQ(NULL, backend_impl.GetHost(kParentHostId));
352 EXPECT_EQ(NULL, worker_host->GetParentAppCacheHost()); 393 EXPECT_EQ(NULL, worker_host->GetParentAppCacheHost());
353 } 394 }
354 395
355 } // namespace appcache 396 } // namespace appcache
356 397
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698