| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/time.h" | 5 #include "base/time.h" |
| 6 #include "chrome/browser/browser_thread.h" |
| 6 #include "chrome/browser/prerender/prerender_contents.h" | 7 #include "chrome/browser/prerender/prerender_contents.h" |
| 7 #include "chrome/browser/prerender/prerender_manager.h" | 8 #include "chrome/browser/prerender/prerender_manager.h" |
| 8 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 11 |
| 11 namespace { | 12 namespace { |
| 12 | 13 |
| 13 class DummyPrerenderContents : public PrerenderContents { | 14 class DummyPrerenderContents : public PrerenderContents { |
| 14 public: | 15 public: |
| 15 DummyPrerenderContents(PrerenderManager* prerender_manager, const GURL& url) | 16 DummyPrerenderContents(PrerenderManager* prerender_manager, const GURL& url) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 } | 74 } |
| 74 | 75 |
| 75 base::Time time_; | 76 base::Time time_; |
| 76 scoped_ptr<PrerenderContents> next_pc_; | 77 scoped_ptr<PrerenderContents> next_pc_; |
| 77 }; | 78 }; |
| 78 | 79 |
| 79 } // namespace | 80 } // namespace |
| 80 | 81 |
| 81 class PrerenderManagerTest : public testing::Test { | 82 class PrerenderManagerTest : public testing::Test { |
| 82 public: | 83 public: |
| 83 PrerenderManagerTest() : prerender_manager_(new TestPrerenderManager()) { | 84 PrerenderManagerTest() : prerender_manager_(new TestPrerenderManager()), |
| 85 ui_thread_(BrowserThread::UI, &message_loop_) { |
| 84 } | 86 } |
| 85 | 87 |
| 86 protected: | 88 protected: |
| 87 scoped_refptr<TestPrerenderManager> prerender_manager_; | 89 scoped_refptr<TestPrerenderManager> prerender_manager_; |
| 90 |
| 91 private: |
| 92 // Needed to pass PrerenderManager's DCHECKs. |
| 93 MessageLoop message_loop_; |
| 94 BrowserThread ui_thread_; |
| 88 }; | 95 }; |
| 89 | 96 |
| 90 TEST_F(PrerenderManagerTest, EmptyTest) { | 97 TEST_F(PrerenderManagerTest, EmptyTest) { |
| 91 GURL url("http://www.google.com/"); | 98 GURL url("http://www.google.com/"); |
| 92 EXPECT_FALSE(prerender_manager_->MaybeUsePreloadedPage(NULL, url)); | 99 EXPECT_FALSE(prerender_manager_->MaybeUsePreloadedPage(NULL, url)); |
| 93 } | 100 } |
| 94 | 101 |
| 95 TEST_F(PrerenderManagerTest, FoundTest) { | 102 TEST_F(PrerenderManagerTest, FoundTest) { |
| 96 GURL url("http://www.google.com/"); | 103 GURL url("http://www.google.com/"); |
| 97 DummyPrerenderContents* pc = | 104 DummyPrerenderContents* pc = |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 EXPECT_EQ(NULL, prerender_manager_->GetEntry(not_an_alias_url)); | 217 EXPECT_EQ(NULL, prerender_manager_->GetEntry(not_an_alias_url)); |
| 211 EXPECT_EQ(pc, prerender_manager_->GetEntry(alias_url1)); | 218 EXPECT_EQ(pc, prerender_manager_->GetEntry(alias_url1)); |
| 212 prerender_manager_->SetNextPrerenderContents(pc); | 219 prerender_manager_->SetNextPrerenderContents(pc); |
| 213 prerender_manager_->AddSimplePreload(url); | 220 prerender_manager_->AddSimplePreload(url); |
| 214 EXPECT_EQ(pc, prerender_manager_->GetEntry(alias_url2)); | 221 EXPECT_EQ(pc, prerender_manager_->GetEntry(alias_url2)); |
| 215 prerender_manager_->SetNextPrerenderContents(pc); | 222 prerender_manager_->SetNextPrerenderContents(pc); |
| 216 prerender_manager_->AddSimplePreload(url); | 223 prerender_manager_->AddSimplePreload(url); |
| 217 EXPECT_EQ(pc, prerender_manager_->GetEntry(url)); | 224 EXPECT_EQ(pc, prerender_manager_->GetEntry(url)); |
| 218 delete pc; | 225 delete pc; |
| 219 } | 226 } |
| OLD | NEW |