diff options
author | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-26 18:42:04 +0000 |
---|---|---|
committer | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-26 18:42:04 +0000 |
commit | c49147c3e959a1573c0eb2e894a1b2fd62f58b89 (patch) | |
tree | 793d46fb213764425dbffd02fa2ba8747913e827 /chrome/browser/prerender/prerender_manager_unittest.cc | |
parent | 91c47627e963f2cc5c01a7da94077fca4a5d2012 (diff) | |
download | chromium_src-c49147c3e959a1573c0eb2e894a1b2fd62f58b89.zip chromium_src-c49147c3e959a1573c0eb2e894a1b2fd62f58b89.tar.gz chromium_src-c49147c3e959a1573c0eb2e894a1b2fd62f58b89.tar.bz2 |
Handle prerendering of fragments.
BUG=79898
TEST=PrerenderBrowserTest.Prerender*Fragment* and PrerenderManagerTest.*Fragment*
Review URL: http://codereview.chromium.org/6880205
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83053 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_manager_unittest.cc')
-rw-r--r-- | chrome/browser/prerender/prerender_manager_unittest.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/browser/prerender/prerender_manager_unittest.cc b/chrome/browser/prerender/prerender_manager_unittest.cc index 02e8349..7163a35 100644 --- a/chrome/browser/prerender/prerender_manager_unittest.cc +++ b/chrome/browser/prerender/prerender_manager_unittest.cc @@ -499,4 +499,47 @@ 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* prerender_contents = + prerender_manager()->CreateNextPrerenderContents(url, + FINAL_STATUS_USED); + EXPECT_TRUE(prerender_manager()->AddSimplePreload(url)); + EXPECT_TRUE(prerender_contents->has_started()); + ASSERT_EQ(prerender_contents, 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* prerender_contents = + prerender_manager()->CreateNextPrerenderContents(fragment_url, + FINAL_STATUS_USED); + EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url)); + EXPECT_TRUE(prerender_contents->has_started()); + ASSERT_EQ(prerender_contents, 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* prerender_contents = + prerender_manager()->CreateNextPrerenderContents(fragment_url, + FINAL_STATUS_USED); + EXPECT_TRUE(prerender_manager()->AddSimplePreload(fragment_url)); + EXPECT_TRUE(prerender_contents->has_started()); + ASSERT_EQ(prerender_contents, + prerender_manager()->GetEntry(other_fragment_url)); +} + } // namespace prerender |