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

Side by Side Diff: chrome/browser/prerender/prerender_manager_unittest.cc

Issue 9270018: Make a separate histogram for MatchComplete Final Status'es and (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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
« no previous file with comments | « chrome/browser/prerender/prerender_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/memory/scoped_vector.h" 5 #include "base/memory/scoped_vector.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "base/time.h" 7 #include "base/time.h"
8 #include "chrome/browser/prerender/prerender_contents.h" 8 #include "chrome/browser/prerender/prerender_contents.h"
9 #include "chrome/browser/prerender/prerender_manager.h" 9 #include "chrome/browser/prerender/prerender_manager.h"
10 #include "chrome/browser/prerender/prerender_origin.h" 10 #include "chrome/browser/prerender/prerender_origin.h"
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender( 439 EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender(
440 child_id, route_id, 440 child_id, route_id,
441 pending_url, content::Referrer(url, WebKit::WebReferrerPolicyDefault))); 441 pending_url, content::Referrer(url, WebKit::WebReferrerPolicyDefault)));
442 442
443 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); 443 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url));
444 EXPECT_TRUE(prerender_contents->has_started()); 444 EXPECT_TRUE(prerender_contents->has_started());
445 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); 445 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
446 } 446 }
447 447
448 // Tests that a PrerenderManager created for a browser session in the control 448 // Tests that a PrerenderManager created for a browser session in the control
449 // group will not be able to override FINAL_STATUS_CONTROL_GROUP. 449 // group works as expected.
450 TEST_F(PrerenderManagerTest, ControlGroup) { 450 TEST_F(PrerenderManagerTest, ControlGroup) {
451 RestorePrerenderMode restore_prerender_mode; 451 RestorePrerenderMode restore_prerender_mode;
452 PrerenderManager::SetMode( 452 PrerenderManager::SetMode(
453 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP); 453 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP);
454 GURL url("http://www.google.com/"); 454 GURL url("http://www.google.com/");
455 DummyPrerenderContents* prerender_contents = 455 DummyPrerenderContents* prerender_contents =
456 prerender_manager()->CreateNextPrerenderContents( 456 prerender_manager()->CreateNextPrerenderContents(
457 url, 457 url,
458 FINAL_STATUS_CONTROL_GROUP); 458 FINAL_STATUS_MANAGER_SHUTDOWN);
459 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url)); 459 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url));
460 EXPECT_FALSE(prerender_contents->has_started()); 460 EXPECT_FALSE(prerender_contents->has_started());
461 } 461 }
462 462
463 // Tests that a PrerenderManager created for a browser session in the control
464 // group works as expected if the site gets visited.
465 TEST_F(PrerenderManagerTest, ControlGroupVisited) {
466 RestorePrerenderMode restore_prerender_mode;
467 PrerenderManager::SetMode(
468 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP);
469 GURL url("http://www.google.com/");
470 DummyPrerenderContents* prerender_contents =
471 prerender_manager()->CreateNextPrerenderContents(
472 url,
473 FINAL_STATUS_WOULD_HAVE_BEEN_USED);
474 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url));
475 EXPECT_FALSE(prerender_contents->has_started());
476 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
477 }
478
479 // Tests that a PrerenderManager correctly handles the case of visitiung a page
480 // when the NoUseGroup is enabled.
481 TEST_F(PrerenderManagerTest, NoUseGroupVisited) {
482 RestorePrerenderMode restore_prerender_mode;
483 PrerenderManager::SetMode(
484 PrerenderManager::PRERENDER_MODE_EXPERIMENT_NO_USE_GROUP);
485 GURL url("http://www.google.com/");
486 DummyPrerenderContents* prerender_contents =
487 prerender_manager()->CreateNextPrerenderContents(
488 url,
489 FINAL_STATUS_WOULD_HAVE_BEEN_USED);
490 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url));
491 EXPECT_TRUE(prerender_contents->has_started());
492 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
493 }
494
463 // Tests that prerendering is cancelled when the source render view does not 495 // Tests that prerendering is cancelled when the source render view does not
464 // exist. On failure, the DCHECK in CreatePrerenderContents() above should be 496 // exist. On failure, the DCHECK in CreatePrerenderContents() above should be
465 // triggered. 497 // triggered.
466 TEST_F(PrerenderManagerTest, SourceRenderViewClosed) { 498 TEST_F(PrerenderManagerTest, SourceRenderViewClosed) {
467 GURL url("http://www.google.com/"); 499 GURL url("http://www.google.com/");
468 prerender_manager()->CreateNextPrerenderContents( 500 prerender_manager()->CreateNextPrerenderContents(
469 url, 501 url,
470 FINAL_STATUS_MANAGER_SHUTDOWN); 502 FINAL_STATUS_MANAGER_SHUTDOWN);
471 EXPECT_FALSE(prerender_manager()->AddPrerenderFromLinkRelPrerender( 503 EXPECT_FALSE(prerender_manager()->AddPrerenderFromLinkRelPrerender(
472 100, 100, url, content::Referrer())); 504 100, 100, url, content::Referrer()));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 url, 555 url,
524 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); 556 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED);
525 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url)); 557 EXPECT_TRUE(prerender_manager()->AddSimplePrerender(url));
526 EXPECT_TRUE(prerender_contents->has_started()); 558 EXPECT_TRUE(prerender_contents->has_started());
527 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); 559 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS);
528 DummyPrerenderContents* null = NULL; 560 DummyPrerenderContents* null = NULL;
529 EXPECT_EQ(null, prerender_manager()->GetEntry(url)); 561 EXPECT_EQ(null, prerender_manager()->GetEntry(url));
530 } 562 }
531 563
532 } // namespace prerender 564 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698