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

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

Issue 10386223: Renaming poorly named classes and adding missing unit tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo rename of Dispatcher Created 8 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_vector.h" 6 #include "base/memory/scoped_vector.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/time.h" 8 #include "base/time.h"
9 #include "chrome/browser/prerender/prerender_contents.h" 9 #include "chrome/browser/prerender/prerender_contents.h"
10 #include "chrome/browser/prerender/prerender_link_manager.h" 10 #include "chrome/browser/prerender/prerender_link_manager.h"
(...skipping 10 matching lines...) Expand all
21 21
22 using content::BrowserThread; 22 using content::BrowserThread;
23 using content::Referrer; 23 using content::Referrer;
24 24
25 namespace prerender { 25 namespace prerender {
26 26
27 namespace { 27 namespace {
28 28
29 class DummyPrerenderContents : public PrerenderContents { 29 class DummyPrerenderContents : public PrerenderContents {
30 public: 30 public:
31 DummyPrerenderContents(PrerenderManager* prerender_manager, 31 DummyPrerenderContents(
32 PrerenderTracker* prerender_tracker, 32 PrerenderManager* prerender_manager,
33 const GURL& url, 33 PrerenderRenderViewTracker* prerender_render_view_tracker,
34 Origin origin, 34 const GURL& url, Origin origin, FinalStatus expected_final_status)
35 FinalStatus expected_final_status) 35 : PrerenderContents(prerender_manager, prerender_render_view_tracker,
36 : PrerenderContents(prerender_manager, prerender_tracker,
37 NULL, url, Referrer(), origin, 36 NULL, url, Referrer(), origin,
38 PrerenderManager::kNoExperiment), 37 PrerenderManager::kNoExperiment),
39 expected_final_status_(expected_final_status) { 38 expected_final_status_(expected_final_status) {
40 } 39 }
41 40
42 virtual ~DummyPrerenderContents() { 41 virtual ~DummyPrerenderContents() {
43 EXPECT_EQ(expected_final_status_, final_status()); 42 EXPECT_EQ(expected_final_status_, final_status());
44 } 43 }
45 44
46 virtual void StartPrerendering( 45 virtual void StartPrerendering(
(...skipping 19 matching lines...) Expand all
66 bool prerendering_has_been_cancelled() const { 65 bool prerendering_has_been_cancelled() const {
67 return PrerenderContents::prerendering_has_been_cancelled(); 66 return PrerenderContents::prerendering_has_been_cancelled();
68 } 67 }
69 68
70 private: 69 private:
71 FinalStatus expected_final_status_; 70 FinalStatus expected_final_status_;
72 }; 71 };
73 72
74 class TestPrerenderManager : public PrerenderManager { 73 class TestPrerenderManager : public PrerenderManager {
75 public: 74 public:
76 explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) 75 explicit TestPrerenderManager(
77 : PrerenderManager(&profile_, prerender_tracker), 76 PrerenderRenderViewTracker* prerender_render_view_tracker)
77 : PrerenderManager(&profile_, prerender_render_view_tracker),
78 time_(base::Time::Now()), 78 time_(base::Time::Now()),
79 time_ticks_(base::TimeTicks::Now()), 79 time_ticks_(base::TimeTicks::Now()),
80 next_prerender_contents_(NULL), 80 next_prerender_contents_(NULL),
81 prerender_tracker_(prerender_tracker) { 81 prerender_render_view_tracker_(prerender_render_view_tracker) {
82 set_rate_limit_enabled(false); 82 set_rate_limit_enabled(false);
83 } 83 }
84 84
85 virtual ~TestPrerenderManager() { 85 virtual ~TestPrerenderManager() {
86 if (next_prerender_contents()) { 86 if (next_prerender_contents()) {
87 next_prerender_contents_.release()->Destroy( 87 next_prerender_contents_.release()->Destroy(
88 FINAL_STATUS_MANAGER_SHUTDOWN); 88 FINAL_STATUS_MANAGER_SHUTDOWN);
89 } 89 }
90 // Set the final status for all PrerenderContents with an expected final 90 // Set the final status for all PrerenderContents with an expected final
91 // status of FINAL_STATUS_USED. These values are normally set when the 91 // status of FINAL_STATUS_USED. These values are normally set when the
(...skipping 12 matching lines...) Expand all
104 } 104 }
105 105
106 void AdvanceTimeTicks(base::TimeDelta delta) { 106 void AdvanceTimeTicks(base::TimeDelta delta) {
107 time_ticks_ += delta; 107 time_ticks_ += delta;
108 } 108 }
109 109
110 DummyPrerenderContents* CreateNextPrerenderContents( 110 DummyPrerenderContents* CreateNextPrerenderContents(
111 const GURL& url, 111 const GURL& url,
112 FinalStatus expected_final_status) { 112 FinalStatus expected_final_status) {
113 DummyPrerenderContents* prerender_contents = 113 DummyPrerenderContents* prerender_contents =
114 new DummyPrerenderContents(this, prerender_tracker_, url, 114 new DummyPrerenderContents(this, prerender_render_view_tracker_, url,
115 ORIGIN_LINK_REL_PRERENDER, 115 ORIGIN_LINK_REL_PRERENDER,
116 expected_final_status); 116 expected_final_status);
117 SetNextPrerenderContents(prerender_contents); 117 SetNextPrerenderContents(prerender_contents);
118 return prerender_contents; 118 return prerender_contents;
119 } 119 }
120 120
121 DummyPrerenderContents* CreateNextPrerenderContents( 121 DummyPrerenderContents* CreateNextPrerenderContents(
122 const GURL& url, 122 const GURL& url,
123 Origin origin, 123 Origin origin,
124 FinalStatus expected_final_status) { 124 FinalStatus expected_final_status) {
125 DummyPrerenderContents* prerender_contents = 125 DummyPrerenderContents* prerender_contents =
126 new DummyPrerenderContents(this, prerender_tracker_, url, 126 new DummyPrerenderContents(this, prerender_render_view_tracker_, url,
127 origin, expected_final_status); 127 origin, expected_final_status);
128 SetNextPrerenderContents(prerender_contents); 128 SetNextPrerenderContents(prerender_contents);
129 return prerender_contents; 129 return prerender_contents;
130 } 130 }
131 131
132 DummyPrerenderContents* CreateNextPrerenderContents( 132 DummyPrerenderContents* CreateNextPrerenderContents(
133 const GURL& url, 133 const GURL& url,
134 const std::vector<GURL>& alias_urls, 134 const std::vector<GURL>& alias_urls,
135 FinalStatus expected_final_status) { 135 FinalStatus expected_final_status) {
136 DummyPrerenderContents* prerender_contents = 136 DummyPrerenderContents* prerender_contents =
137 new DummyPrerenderContents(this, prerender_tracker_, url, 137 new DummyPrerenderContents(this, prerender_render_view_tracker_, url,
138 ORIGIN_LINK_REL_PRERENDER, 138 ORIGIN_LINK_REL_PRERENDER,
139 expected_final_status); 139 expected_final_status);
140 for (std::vector<GURL>::const_iterator it = alias_urls.begin(); 140 for (std::vector<GURL>::const_iterator it = alias_urls.begin();
141 it != alias_urls.end(); 141 it != alias_urls.end();
142 ++it) { 142 ++it) {
143 EXPECT_TRUE(prerender_contents->AddAliasURL(*it)); 143 EXPECT_TRUE(prerender_contents->AddAliasURL(*it));
144 } 144 }
145 SetNextPrerenderContents(prerender_contents); 145 SetNextPrerenderContents(prerender_contents);
146 return prerender_contents; 146 return prerender_contents;
147 } 147 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 return next_prerender_contents_.release(); 181 return next_prerender_contents_.release();
182 } 182 }
183 183
184 base::Time time_; 184 base::Time time_;
185 base::TimeTicks time_ticks_; 185 base::TimeTicks time_ticks_;
186 scoped_ptr<PrerenderContents> next_prerender_contents_; 186 scoped_ptr<PrerenderContents> next_prerender_contents_;
187 // PrerenderContents with an |expected_final_status| of FINAL_STATUS_USED, 187 // PrerenderContents with an |expected_final_status| of FINAL_STATUS_USED,
188 // tracked so they will be automatically deleted. 188 // tracked so they will be automatically deleted.
189 ScopedVector<PrerenderContents> used_prerender_contents_; 189 ScopedVector<PrerenderContents> used_prerender_contents_;
190 190
191 PrerenderTracker* prerender_tracker_; 191 PrerenderRenderViewTracker* prerender_render_view_tracker_;
192 192
193 TestingProfile profile_; 193 TestingProfile profile_;
194 }; 194 };
195 195
196 class RestorePrerenderMode { 196 class RestorePrerenderMode {
197 public: 197 public:
198 RestorePrerenderMode() : prev_mode_(PrerenderManager::GetMode()) { 198 RestorePrerenderMode() : prev_mode_(PrerenderManager::GetMode()) {
199 } 199 }
200 200
201 ~RestorePrerenderMode() { PrerenderManager::SetMode(prev_mode_); } 201 ~RestorePrerenderMode() { PrerenderManager::SetMode(prev_mode_); }
202 private: 202 private:
203 PrerenderManager::PrerenderManagerMode prev_mode_; 203 PrerenderManager::PrerenderManagerMode prev_mode_;
204 }; 204 };
205 205
206 } // namespace 206 } // namespace
207 207
208 class PrerenderTest : public testing::Test { 208 class PrerenderTest : public testing::Test {
209 public: 209 public:
210 static const int kDefaultChildId = -1; 210 static const int kDefaultChildId = -1;
211 static const int kDefaultRenderViewRouteId = -1; 211 static const int kDefaultRenderViewRouteId = -1;
212 212
213 PrerenderTest() : ui_thread_(BrowserThread::UI, &message_loop_), 213 PrerenderTest()
214 prerender_manager_( 214 : ui_thread_(BrowserThread::UI, &message_loop_),
215 new TestPrerenderManager(prerender_tracker())), 215 prerender_manager_(
216 prerender_link_manager_( 216 new TestPrerenderManager(prerender_render_view_tracker())),
217 new PrerenderLinkManager(prerender_manager_.get())), 217 prerender_link_manager_(
218 last_prerender_id_(0) { 218 new PrerenderLinkManager(prerender_manager_.get())),
219 last_prerender_id_(0) {
219 // Enable omnibox prerendering. 220 // Enable omnibox prerendering.
220 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 221 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
221 switches::kPrerenderFromOmnibox, 222 switches::kPrerenderFromOmnibox,
222 switches::kPrerenderFromOmniboxSwitchValueEnabled); 223 switches::kPrerenderFromOmniboxSwitchValueEnabled);
223 } 224 }
224 225
225 TestPrerenderManager* prerender_manager() { 226 TestPrerenderManager* prerender_manager() {
226 return prerender_manager_.get(); 227 return prerender_manager_.get();
227 } 228 }
228 229
(...skipping 15 matching lines...) Expand all
244 245
245 // Shorthand to add a simple preload with a reasonable source. 246 // Shorthand to add a simple preload with a reasonable source.
246 bool AddSimplePrerender(const GURL& url) { 247 bool AddSimplePrerender(const GURL& url) {
247 return prerender_link_manager()->OnAddPrerender( 248 return prerender_link_manager()->OnAddPrerender(
248 kDefaultChildId, GetNextPrerenderID(), 249 kDefaultChildId, GetNextPrerenderID(),
249 url, content::Referrer(), 250 url, content::Referrer(),
250 gfx::Size(), kDefaultRenderViewRouteId); 251 gfx::Size(), kDefaultRenderViewRouteId);
251 } 252 }
252 253
253 private: 254 private:
254 PrerenderTracker* prerender_tracker() { 255 PrerenderRenderViewTracker* prerender_render_view_tracker() {
255 return g_browser_process->prerender_tracker(); 256 return g_browser_process->prerender_render_view_tracker();
256 } 257 }
257 258
258 // Needed to pass PrerenderManager's DCHECKs. 259 // Needed to pass PrerenderManager's DCHECKs.
259 MessageLoop message_loop_; 260 MessageLoop message_loop_;
260 content::TestBrowserThread ui_thread_; 261 content::TestBrowserThread ui_thread_;
261 scoped_ptr<TestPrerenderManager> prerender_manager_; 262 scoped_ptr<TestPrerenderManager> prerender_manager_;
262 scoped_ptr<PrerenderLinkManager> prerender_link_manager_; 263 scoped_ptr<PrerenderLinkManager> prerender_link_manager_;
263 int last_prerender_id_; 264 int last_prerender_id_;
264 }; 265 };
265 266
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
911 DummyPrerenderContents* second_prerender_contents = 912 DummyPrerenderContents* second_prerender_contents =
912 prerender_manager()->CreateNextPrerenderContents( 913 prerender_manager()->CreateNextPrerenderContents(
913 url, FINAL_STATUS_USED); 914 url, FINAL_STATUS_USED);
914 EXPECT_TRUE(AddSimplePrerender(url)); 915 EXPECT_TRUE(AddSimplePrerender(url));
915 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); 916 EXPECT_TRUE(second_prerender_contents->prerendering_has_started());
916 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); 917 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url));
917 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); 918 EXPECT_FALSE(IsEmptyPrerenderLinkManager());
918 } 919 }
919 920
920 } // namespace prerender 921 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698