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: content/browser/service_worker/foreign_fetch_request_handler_unittest.cc

Issue 2580793004: service worker: Add CHECKs for investigating null http info bug. (Closed)
Patch Set: Fix foreign fetch Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/service_worker/foreign_fetch_request_handler.h" 5 #include "content/browser/service_worker/foreign_fetch_request_handler.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/test/simple_test_tick_clock.h" 9 #include "base/test/simple_test_tick_clock.h"
10 #include "content/browser/browser_thread_impl.h" 10 #include "content/browser/browser_thread_impl.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 TEST_F(ForeignFetchRequestHandlerTest, InitializeHandler_TimeoutBehavior) { 329 TEST_F(ForeignFetchRequestHandlerTest, InitializeHandler_TimeoutBehavior) {
330 ForeignFetchRequestHandler* handler = 330 ForeignFetchRequestHandler* handler =
331 InitializeHandler("https://valid.example.com/foo", RESOURCE_TYPE_IMAGE, 331 InitializeHandler("https://valid.example.com/foo", RESOURCE_TYPE_IMAGE,
332 nullptr /* initiator */); 332 nullptr /* initiator */);
333 ASSERT_TRUE(handler); 333 ASSERT_TRUE(handler);
334 334
335 EXPECT_EQ(base::nullopt, timeout_for_request(handler)); 335 EXPECT_EQ(base::nullopt, timeout_for_request(handler));
336 336
337 CreateServiceWorkerTypeProviderHost(); 337 CreateServiceWorkerTypeProviderHost();
338 ServiceWorkerVersion* version = provider_host()->running_hosted_version(); 338 ServiceWorkerVersion* version = provider_host()->running_hosted_version();
339 std::unique_ptr<net::HttpResponseInfo> http_info(
340 CreateTestHttpResponseInfo());
341 version->SetMainScriptHttpResponseInfo(*http_info);
339 342
340 // Set mock clock on version to check timeout behavior. 343 // Set mock clock on version to check timeout behavior.
341 base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock(); 344 base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock();
342 tick_clock->SetNowTicks(base::TimeTicks::Now()); 345 tick_clock->SetNowTicks(base::TimeTicks::Now());
343 version->SetTickClockForTesting(base::WrapUnique(tick_clock)); 346 version->SetTickClockForTesting(base::WrapUnique(tick_clock));
344 347
345 // Make sure worker has a non-zero timeout. 348 // Make sure worker has a non-zero timeout.
346 version->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN, 349 version->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN,
347 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 350 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
348 base::RunLoop().RunUntilIdle(); 351 base::RunLoop().RunUntilIdle();
349 version->StartRequestWithCustomTimeout( 352 version->StartRequestWithCustomTimeout(
350 ServiceWorkerMetrics::EventType::ACTIVATE, 353 ServiceWorkerMetrics::EventType::ACTIVATE,
351 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback), 354 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback),
352 base::TimeDelta::FromSeconds(10), ServiceWorkerVersion::KILL_ON_TIMEOUT); 355 base::TimeDelta::FromSeconds(10), ServiceWorkerVersion::KILL_ON_TIMEOUT);
353 356
354 // Advance clock by a couple seconds. 357 // Advance clock by a couple seconds.
355 tick_clock->Advance(base::TimeDelta::FromSeconds(4)); 358 tick_clock->Advance(base::TimeDelta::FromSeconds(4));
356 base::TimeDelta remaining_time = version->remaining_timeout(); 359 base::TimeDelta remaining_time = version->remaining_timeout();
357 EXPECT_EQ(base::TimeDelta::FromSeconds(6), remaining_time); 360 EXPECT_EQ(base::TimeDelta::FromSeconds(6), remaining_time);
358 361
359 // Make sure new request only gets remaining timeout. 362 // Make sure new request only gets remaining timeout.
360 handler = InitializeHandler("https://valid.example.com/foo", 363 handler = InitializeHandler("https://valid.example.com/foo",
361 RESOURCE_TYPE_IMAGE, nullptr /* initiator */); 364 RESOURCE_TYPE_IMAGE, nullptr /* initiator */);
362 ASSERT_TRUE(handler); 365 ASSERT_TRUE(handler);
363 EXPECT_EQ(remaining_time, timeout_for_request(handler)); 366 EXPECT_EQ(remaining_time, timeout_for_request(handler));
364 } 367 }
365 368
366 } // namespace content 369 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698