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

Side by Side Diff: components/precache/core/precache_fetcher_unittest.cc

Issue 2398613002: [HttpCache] LOAD_ONLY_FROM_CACHE should not imply LOAD_PREFERRING_CACHE (Closed)
Patch Set: Always check vary Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/precache/core/precache_fetcher.h" 5 #include "components/precache/core/precache_fetcher.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <cstring> 9 #include <cstring>
10 #include <memory> 10 #include <memory>
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 NotNull()))) 256 NotNull())))
257 .Times(1); 257 .Times(1);
258 258
259 PrecacheFetcher::Fetcher precache_fetcher( 259 PrecacheFetcher::Fetcher precache_fetcher(
260 request_context_.get(), url, url.host(), callback_, 260 request_context_.get(), url, url.host(), callback_,
261 true /* is_resource_request */, SIZE_MAX); 261 true /* is_resource_request */, SIZE_MAX);
262 262
263 base::RunLoop().RunUntilIdle(); 263 base::RunLoop().RunUntilIdle();
264 264
265 ASSERT_NE(nullptr, fetcher1); 265 ASSERT_NE(nullptr, fetcher1);
266 EXPECT_EQ(net::LOAD_ONLY_FROM_CACHE | kNoTracking, fetcher1->GetLoadFlags()); 266 EXPECT_EQ(
267 net::LOAD_ONLY_FROM_CACHE | net::LOAD_SKIP_CACHE_VALIDATION | kNoTracking,
268 fetcher1->GetLoadFlags());
267 ASSERT_NE(nullptr, fetcher2); 269 ASSERT_NE(nullptr, fetcher2);
268 EXPECT_EQ(net::LOAD_VALIDATE_CACHE | kNoTracking, fetcher2->GetLoadFlags()); 270 EXPECT_EQ(net::LOAD_VALIDATE_CACHE | kNoTracking, fetcher2->GetLoadFlags());
269 } 271 }
270 272
271 TEST_F(PrecacheFetcherFetcherTest, ResourceHasValidators) { 273 TEST_F(PrecacheFetcherFetcherTest, ResourceHasValidators) {
272 GURL url(kGoodResourceURL); 274 GURL url(kGoodResourceURL);
273 275
274 net::FakeURLFetcher *fetcher1 = nullptr, *fetcher2 = nullptr; 276 net::FakeURLFetcher *fetcher1 = nullptr, *fetcher2 = nullptr;
275 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _)) 277 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _))
276 .WillOnce(factory_.RespondWith("", HasETag, &fetcher1)) 278 .WillOnce(factory_.RespondWith("", HasETag, &fetcher1))
277 .WillOnce(factory_.RespondWith("", &fetcher2)); 279 .WillOnce(factory_.RespondWith("", &fetcher2));
278 EXPECT_CALL(*this, 280 EXPECT_CALL(*this,
279 Callback(Property(&PrecacheFetcher::Fetcher::network_url_fetcher, 281 Callback(Property(&PrecacheFetcher::Fetcher::network_url_fetcher,
280 NotNull()))); 282 NotNull())));
281 283
282 PrecacheFetcher::Fetcher precache_fetcher( 284 PrecacheFetcher::Fetcher precache_fetcher(
283 request_context_.get(), url, url.host(), callback_, 285 request_context_.get(), url, url.host(), callback_,
284 true /* is_resource_request */, SIZE_MAX); 286 true /* is_resource_request */, SIZE_MAX);
285 287
286 base::RunLoop().RunUntilIdle(); 288 base::RunLoop().RunUntilIdle();
287 289
288 ASSERT_NE(nullptr, fetcher1); 290 ASSERT_NE(nullptr, fetcher1);
289 EXPECT_EQ(net::LOAD_ONLY_FROM_CACHE | kNoTracking, fetcher1->GetLoadFlags()); 291 EXPECT_EQ(
292 net::LOAD_ONLY_FROM_CACHE | net::LOAD_SKIP_CACHE_VALIDATION | kNoTracking,
293 fetcher1->GetLoadFlags());
290 ASSERT_NE(nullptr, fetcher2); 294 ASSERT_NE(nullptr, fetcher2);
291 EXPECT_EQ(net::LOAD_VALIDATE_CACHE | kNoTracking, fetcher2->GetLoadFlags()); 295 EXPECT_EQ(net::LOAD_VALIDATE_CACHE | kNoTracking, fetcher2->GetLoadFlags());
292 } 296 }
293 297
294 TEST_F(PrecacheFetcherFetcherTest, ResourceHasNoValidators) { 298 TEST_F(PrecacheFetcherFetcherTest, ResourceHasNoValidators) {
295 GURL url(kGoodResourceURL); 299 GURL url(kGoodResourceURL);
296 300
297 net::FakeURLFetcher* fetcher; 301 net::FakeURLFetcher* fetcher;
298 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _)) 302 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _))
299 .WillOnce(factory_.RespondWith("", &fetcher)); 303 .WillOnce(factory_.RespondWith("", &fetcher));
300 EXPECT_CALL(*this, 304 EXPECT_CALL(*this,
301 Callback(Property(&PrecacheFetcher::Fetcher::network_url_fetcher, 305 Callback(Property(&PrecacheFetcher::Fetcher::network_url_fetcher,
302 nullptr))); // It never reached the network. 306 nullptr))); // It never reached the network.
303 307
304 PrecacheFetcher::Fetcher precache_fetcher( 308 PrecacheFetcher::Fetcher precache_fetcher(
305 request_context_.get(), url, url.host(), callback_, 309 request_context_.get(), url, url.host(), callback_,
306 true /* is_resource_request */, SIZE_MAX); 310 true /* is_resource_request */, SIZE_MAX);
307 311
308 base::RunLoop().RunUntilIdle(); 312 base::RunLoop().RunUntilIdle();
309 313
310 EXPECT_EQ(net::LOAD_ONLY_FROM_CACHE | kNoTracking, fetcher->GetLoadFlags()); 314 EXPECT_EQ(
315 net::LOAD_ONLY_FROM_CACHE | net::LOAD_SKIP_CACHE_VALIDATION | kNoTracking,
316 fetcher->GetLoadFlags());
311 } 317 }
312 318
313 TEST_F(PrecacheFetcherFetcherTest, ResourceTooBig) { 319 TEST_F(PrecacheFetcherFetcherTest, ResourceTooBig) {
314 GURL url(kGoodResourceURL); 320 GURL url(kGoodResourceURL);
315 321
316 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _)) 322 EXPECT_CALL(factory_, DoCreateURLFetcher(_, url, net::URLFetcher::GET, _))
317 // Cache request will fail, so that a network request is made. Only 323 // Cache request will fail, so that a network request is made. Only
318 // network requests are byte-capped. 324 // network requests are byte-capped.
319 .WillOnce(factory_.RespondWith("", CacheMiss, nullptr)) 325 .WillOnce(factory_.RespondWith("", CacheMiss, nullptr))
320 .WillOnce(factory_.RespondWith(std::string(100, '.'), nullptr)); 326 .WillOnce(factory_.RespondWith(std::string(100, '.'), nullptr));
(...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls()); 1470 EXPECT_EQ(expected_requested_urls, url_callback_.requested_urls());
1465 1471
1466 EXPECT_TRUE(precache_delegate_.was_on_done_called()); 1472 EXPECT_TRUE(precache_delegate_.was_on_done_called());
1467 1473
1468 histogram.ExpectTotalCount("Precache.Fetch.PercentCompleted", 2); 1474 histogram.ExpectTotalCount("Precache.Fetch.PercentCompleted", 2);
1469 histogram.ExpectTotalCount("Precache.Fetch.ResponseBytes.Total", 2); 1475 histogram.ExpectTotalCount("Precache.Fetch.ResponseBytes.Total", 2);
1470 histogram.ExpectTotalCount("Precache.Fetch.TimeToComplete", 2); 1476 histogram.ExpectTotalCount("Precache.Fetch.TimeToComplete", 2);
1471 } 1477 }
1472 1478
1473 } // namespace precache 1479 } // namespace precache
OLDNEW
« no previous file with comments | « components/precache/core/precache_fetcher.cc ('k') | content/browser/download/download_request_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698