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

Unified Diff: chrome/browser/prerender/prerender_manager_unittest.cc

Issue 6880139: Changing URL match method to support fragments. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Better comments and a rebase. Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_manager_unittest.cc
diff --git a/chrome/browser/prerender/prerender_manager_unittest.cc b/chrome/browser/prerender/prerender_manager_unittest.cc
index f5d81abd316d3aaad1b9842cefd2620bb378e84f..4ab90afd27e45421d3aeb14d753f463ab32d03c1 100644
--- a/chrome/browser/prerender/prerender_manager_unittest.cc
+++ b/chrome/browser/prerender/prerender_manager_unittest.cc
@@ -495,4 +495,46 @@ TEST_F(PrerenderManagerTest, SourceRenderViewClosed) {
std::pair<int, int>(100, 100), url, std::vector<GURL>(), GURL()));
}
+// Tests that the prerender manager ignores fragment references when matching
+// prerender URLs in the case the fragment is not in the prerender URL.
+TEST_F(PrerenderManagerTest, PageMatchesFragmentTest) {
+ GURL url("http://www.google.com/");
+ GURL fragment_url("http://www.google.com/#test");
+
+ DummyPrerenderContents* pc =
+ prerender_manager()->CreateNextPrerenderContents(url,
+ FINAL_STATUS_USED);
+ EXPECT_TRUE(prerender_manager()->AddSimplePreload(url));
+ EXPECT_TRUE(pc->has_started());
+ ASSERT_EQ(pc, prerender_manager()->GetEntry(fragment_url));
+}
+
+// Tests that the prerender manager ignores fragment references when matching
+// prerender URLs in the case the fragment is in the prerender URL.
+TEST_F(PrerenderManagerTest, FragmentMatchesPageTest) {
+ GURL url("http://www.google.com/");
+ GURL fragment_url("http://www.google.com/#test");
+
+ DummyPrerenderContents* pc =
+ prerender_manager()->CreateNextPrerenderContents(fragment_url,
+ FINAL_STATUS_USED);
+ EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url));
+ EXPECT_TRUE(pc->has_started());
+ ASSERT_EQ(pc, prerender_manager()->GetEntry(url));
+}
+
+// Tests that the prerender manager ignores fragment references when matching
+// prerender URLs in the case the fragment is in both URLs.
+TEST_F(PrerenderManagerTest, FragmentMatchesFragmentTest) {
+ GURL fragment_url("http://www.google.com/#test");
+ GURL other_fragment_url("http://www.google.com/#other_test");
+
+ DummyPrerenderContents* pc =
+ prerender_manager()->CreateNextPrerenderContents(fragment_url,
+ FINAL_STATUS_USED);
+ EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url));
+ EXPECT_TRUE(pc->has_started());
+ ASSERT_EQ(pc, prerender_manager()->GetEntry(other_fragment_url));
+}
+
} // namespace prerender

Powered by Google App Engine
This is Rietveld 408576698