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

Side by Side Diff: chrome/browser/android/offline_pages/prerendering_loader_unittest.cc

Issue 2566453002: [OfflinePages] Rename PRERENDERING_* result terminology to LOADING_* (Closed)
Patch Set: Updated histogram enum 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 "chrome/browser/android/offline_pages/prerendering_loader.h" 5 #include "chrome/browser/android/offline_pages/prerendering_loader.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 EXPECT_FALSE(loader()->IsIdle()); 229 EXPECT_FALSE(loader()->IsIdle());
230 EXPECT_TRUE(loader()->IsLoaded()); 230 EXPECT_TRUE(loader()->IsLoaded());
231 EXPECT_TRUE(callback_called()); 231 EXPECT_TRUE(callback_called());
232 EXPECT_EQ(Offliner::RequestStatus::LOADED, callback_load_status()); 232 EXPECT_EQ(Offliner::RequestStatus::LOADED, callback_load_status());
233 233
234 // Consider Prerenderer stops (eg, times out) before Loader is done with it. 234 // Consider Prerenderer stops (eg, times out) before Loader is done with it.
235 test_adapter()->GetObserver()->OnPrerenderStop(); 235 test_adapter()->GetObserver()->OnPrerenderStop();
236 PumpLoop(); 236 PumpLoop();
237 EXPECT_TRUE(loader()->IsIdle()); 237 EXPECT_TRUE(loader()->IsIdle());
238 EXPECT_FALSE(loader()->IsLoaded()); 238 EXPECT_FALSE(loader()->IsLoaded());
239 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_CANCELED, 239 EXPECT_EQ(Offliner::RequestStatus::LOADING_CANCELED, callback_load_status());
240 callback_load_status());
241 EXPECT_FALSE(test_adapter()->IsActive()); 240 EXPECT_FALSE(test_adapter()->IsActive());
242 } 241 }
243 242
244 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoContent) { 243 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoContent) {
245 test_adapter()->Configure(nullptr /* web_contents */, 244 test_adapter()->Configure(nullptr /* web_contents */,
246 prerender::FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); 245 prerender::FINAL_STATUS_CACHE_OR_HISTORY_CLEARED);
247 GURL gurl("http://testit.sea"); 246 GURL gurl("http://testit.sea");
248 EXPECT_TRUE(loader()->IsIdle()); 247 EXPECT_TRUE(loader()->IsIdle());
249 EXPECT_TRUE(loader()->LoadPage( 248 EXPECT_TRUE(loader()->LoadPage(
250 gurl, 249 gurl,
251 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 250 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
252 EXPECT_FALSE(loader()->IsIdle()); 251 EXPECT_FALSE(loader()->IsIdle());
253 EXPECT_FALSE(loader()->IsLoaded()); 252 EXPECT_FALSE(loader()->IsLoaded());
254 253
255 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded(); 254 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded();
256 PumpLoop(); 255 PumpLoop();
257 EXPECT_TRUE(loader()->IsIdle()); 256 EXPECT_TRUE(loader()->IsIdle());
258 EXPECT_TRUE(callback_called()); 257 EXPECT_TRUE(callback_called());
259 // We did not provide any WebContents for the callback so expect did not load. 258 // We did not provide any WebContents for the callback so expect did not load.
260 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_FAILED, 259 EXPECT_EQ(Offliner::RequestStatus::LOADING_FAILED, callback_load_status());
261 callback_load_status());
262 260
263 // Stopped event causes no harm. 261 // Stopped event causes no harm.
264 test_adapter()->GetObserver()->OnPrerenderStop(); 262 test_adapter()->GetObserver()->OnPrerenderStop();
265 PumpLoop(); 263 PumpLoop();
266 } 264 }
267 265
268 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoRetry) { 266 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoRetry) {
269 test_adapter()->Configure(nullptr /* web_contents */, 267 test_adapter()->Configure(nullptr /* web_contents */,
270 prerender::FINAL_STATUS_SAFE_BROWSING); 268 prerender::FINAL_STATUS_SAFE_BROWSING);
271 GURL gurl("http://testit.sea"); 269 GURL gurl("http://testit.sea");
272 EXPECT_TRUE(loader()->IsIdle()); 270 EXPECT_TRUE(loader()->IsIdle());
273 EXPECT_TRUE(loader()->LoadPage( 271 EXPECT_TRUE(loader()->LoadPage(
274 gurl, 272 gurl,
275 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 273 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
276 EXPECT_FALSE(loader()->IsIdle()); 274 EXPECT_FALSE(loader()->IsIdle());
277 EXPECT_FALSE(loader()->IsLoaded()); 275 EXPECT_FALSE(loader()->IsLoaded());
278 276
279 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded(); 277 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded();
280 PumpLoop(); 278 PumpLoop();
281 EXPECT_TRUE(loader()->IsIdle()); 279 EXPECT_TRUE(loader()->IsIdle());
282 EXPECT_TRUE(callback_called()); 280 EXPECT_TRUE(callback_called());
283 // We did not provide any WebContents for the callback so expect did not load. 281 // We did not provide any WebContents for the callback so expect did not load.
284 // FinalStatus is non-retryable failure. 282 // FinalStatus is non-retryable failure.
285 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_FAILED_NO_RETRY, 283 EXPECT_EQ(Offliner::RequestStatus::LOADING_FAILED_NO_RETRY,
286 callback_load_status()); 284 callback_load_status());
287 285
288 // Stopped event causes no harm. 286 // Stopped event causes no harm.
289 test_adapter()->GetObserver()->OnPrerenderStop(); 287 test_adapter()->GetObserver()->OnPrerenderStop();
290 PumpLoop(); 288 PumpLoop();
291 } 289 }
292 290
293 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoNext) { 291 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedNoNext) {
294 test_adapter()->Configure(nullptr /* web_contents */, 292 test_adapter()->Configure(nullptr /* web_contents */,
295 prerender::FINAL_STATUS_MEMORY_LIMIT_EXCEEDED); 293 prerender::FINAL_STATUS_MEMORY_LIMIT_EXCEEDED);
296 GURL gurl("http://testit.sea"); 294 GURL gurl("http://testit.sea");
297 EXPECT_TRUE(loader()->IsIdle()); 295 EXPECT_TRUE(loader()->IsIdle());
298 EXPECT_TRUE(loader()->LoadPage( 296 EXPECT_TRUE(loader()->LoadPage(
299 gurl, 297 gurl,
300 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 298 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
301 EXPECT_FALSE(loader()->IsIdle()); 299 EXPECT_FALSE(loader()->IsIdle());
302 EXPECT_FALSE(loader()->IsLoaded()); 300 EXPECT_FALSE(loader()->IsLoaded());
303 301
304 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded(); 302 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded();
305 PumpLoop(); 303 PumpLoop();
306 EXPECT_TRUE(loader()->IsIdle()); 304 EXPECT_TRUE(loader()->IsIdle());
307 EXPECT_TRUE(callback_called()); 305 EXPECT_TRUE(callback_called());
308 // We did not provide any WebContents for the callback so expect did not load. 306 // We did not provide any WebContents for the callback so expect did not load.
309 // FinalStatus is non-next failure. 307 // FinalStatus is non-next failure.
310 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_FAILED_NO_NEXT, 308 EXPECT_EQ(Offliner::RequestStatus::LOADING_FAILED_NO_NEXT,
311 callback_load_status()); 309 callback_load_status());
312 310
313 // Stopped event causes no harm. 311 // Stopped event causes no harm.
314 test_adapter()->GetObserver()->OnPrerenderStop(); 312 test_adapter()->GetObserver()->OnPrerenderStop();
315 PumpLoop(); 313 PumpLoop();
316 } 314 }
317 315
318 TEST_F(PrerenderingLoaderTest, LoadPageLoadCanceled) { 316 TEST_F(PrerenderingLoaderTest, LoadPageLoadCanceled) {
319 test_adapter()->Configure(nullptr /* web_contents */, 317 test_adapter()->Configure(nullptr /* web_contents */,
320 prerender::FINAL_STATUS_CANCELLED); 318 prerender::FINAL_STATUS_CANCELLED);
321 GURL gurl("http://testit.sea"); 319 GURL gurl("http://testit.sea");
322 EXPECT_TRUE(loader()->IsIdle()); 320 EXPECT_TRUE(loader()->IsIdle());
323 EXPECT_TRUE(loader()->LoadPage( 321 EXPECT_TRUE(loader()->LoadPage(
324 gurl, 322 gurl,
325 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 323 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
326 EXPECT_FALSE(loader()->IsIdle()); 324 EXPECT_FALSE(loader()->IsIdle());
327 EXPECT_FALSE(loader()->IsLoaded()); 325 EXPECT_FALSE(loader()->IsLoaded());
328 326
329 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded(); 327 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded();
330 PumpLoop(); 328 PumpLoop();
331 EXPECT_TRUE(loader()->IsIdle()); 329 EXPECT_TRUE(loader()->IsIdle());
332 EXPECT_TRUE(callback_called()); 330 EXPECT_TRUE(callback_called());
333 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_CANCELED, 331 EXPECT_EQ(Offliner::RequestStatus::LOADING_CANCELED, callback_load_status());
334 callback_load_status());
335 332
336 // Stopped event causes no harm. 333 // Stopped event causes no harm.
337 test_adapter()->GetObserver()->OnPrerenderStop(); 334 test_adapter()->GetObserver()->OnPrerenderStop();
338 PumpLoop(); 335 PumpLoop();
339 } 336 }
340 337
341 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedUnsupportedScheme) { 338 TEST_F(PrerenderingLoaderTest, LoadPageLoadFailedUnsupportedScheme) {
342 test_adapter()->Configure(nullptr /* web_contents */, 339 test_adapter()->Configure(nullptr /* web_contents */,
343 prerender::FINAL_STATUS_UNSUPPORTED_SCHEME); 340 prerender::FINAL_STATUS_UNSUPPORTED_SCHEME);
344 GURL gurl("http://testit.sea"); 341 GURL gurl("http://testit.sea");
345 EXPECT_TRUE(loader()->IsIdle()); 342 EXPECT_TRUE(loader()->IsIdle());
346 EXPECT_TRUE(loader()->LoadPage( 343 EXPECT_TRUE(loader()->LoadPage(
347 gurl, 344 gurl,
348 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 345 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
349 EXPECT_FALSE(loader()->IsIdle()); 346 EXPECT_FALSE(loader()->IsIdle());
350 EXPECT_FALSE(loader()->IsLoaded()); 347 EXPECT_FALSE(loader()->IsLoaded());
351 348
352 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded(); 349 test_adapter()->GetObserver()->OnPrerenderDomContentLoaded();
353 PumpLoop(); 350 PumpLoop();
354 EXPECT_TRUE(loader()->IsIdle()); 351 EXPECT_TRUE(loader()->IsIdle());
355 EXPECT_TRUE(callback_called()); 352 EXPECT_TRUE(callback_called());
356 // Unsupported Scheme final status currently considered a cancel rather 353 // Unsupported Scheme final status currently considered a cancel rather
357 // than failure in case it is due to lost network connectivity. 354 // than failure in case it is due to lost network connectivity.
358 EXPECT_EQ(Offliner::RequestStatus::PRERENDERING_CANCELED, 355 EXPECT_EQ(Offliner::RequestStatus::LOADING_CANCELED, callback_load_status());
359 callback_load_status());
360 356
361 // Stopped event causes no harm. 357 // Stopped event causes no harm.
362 test_adapter()->GetObserver()->OnPrerenderStop(); 358 test_adapter()->GetObserver()->OnPrerenderStop();
363 PumpLoop(); 359 PumpLoop();
364 } 360 }
365 361
366 TEST_F(PrerenderingLoaderTest, LoadPageLoadCanceledFromStopLoading) { 362 TEST_F(PrerenderingLoaderTest, LoadPageLoadCanceledFromStopLoading) {
367 GURL gurl("http://testit.sea"); 363 GURL gurl("http://testit.sea");
368 EXPECT_TRUE(loader()->IsIdle()); 364 EXPECT_TRUE(loader()->IsIdle());
369 EXPECT_TRUE(loader()->LoadPage( 365 EXPECT_TRUE(loader()->LoadPage(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 test_adapter()->FailStart(); 404 test_adapter()->FailStart();
409 GURL gurl("http://testit.sea"); 405 GURL gurl("http://testit.sea");
410 EXPECT_TRUE(loader()->IsIdle()); 406 EXPECT_TRUE(loader()->IsIdle());
411 EXPECT_FALSE(loader()->LoadPage( 407 EXPECT_FALSE(loader()->LoadPage(
412 gurl, 408 gurl,
413 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this)))); 409 base::Bind(&PrerenderingLoaderTest::OnLoadDone, base::Unretained(this))));
414 EXPECT_TRUE(loader()->IsIdle()); 410 EXPECT_TRUE(loader()->IsIdle());
415 } 411 }
416 412
417 } // namespace offline_pages 413 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698