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

Side by Side Diff: chrome/browser/history/history_backend_unittest.cc

Issue 10115001: Added page score to the ntp suggestions tab. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 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 unified diff | Download patch
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 <set> 5 #include <set>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 HistoryBackendTest() : bookmark_model_(NULL), loaded_(false) {} 104 HistoryBackendTest() : bookmark_model_(NULL), loaded_(false) {}
105 virtual ~HistoryBackendTest() { 105 virtual ~HistoryBackendTest() {
106 } 106 }
107 107
108 // Callback for QueryMostVisited. 108 // Callback for QueryMostVisited.
109 void OnQueryMostVisited(CancelableRequestProvider::Handle handle, 109 void OnQueryMostVisited(CancelableRequestProvider::Handle handle,
110 history::MostVisitedURLList data) { 110 history::MostVisitedURLList data) {
111 most_visited_list_.swap(data); 111 most_visited_list_.swap(data);
112 } 112 }
113 113
114 // Callback for QueryFiltered.
115 void OnQueryFiltered(CancelableRequestProvider::Handle handle,
116 history::FilteredURLList data) {
117 filtered_list_.swap(data);
118 }
119
114 const history::MostVisitedURLList& get_most_visited_list() const { 120 const history::MostVisitedURLList& get_most_visited_list() const {
115 return most_visited_list_; 121 return most_visited_list_;
116 } 122 }
117 123
124 const history::FilteredURLList& get_filtered_list() const {
125 return filtered_list_;
126 }
127
118 protected: 128 protected:
119 scoped_refptr<HistoryBackend> backend_; // Will be NULL on init failure. 129 scoped_refptr<HistoryBackend> backend_; // Will be NULL on init failure.
120 scoped_ptr<InMemoryHistoryBackend> mem_backend_; 130 scoped_ptr<InMemoryHistoryBackend> mem_backend_;
121 131
122 void AddRedirectChain(const char* sequence[], int page_id) { 132 void AddRedirectChain(const char* sequence[], int page_id) {
123 AddRedirectChainWithTransitionAndTime(sequence, page_id, 133 AddRedirectChainWithTransitionAndTime(sequence, page_id,
124 content::PAGE_TRANSITION_LINK, 134 content::PAGE_TRANSITION_LINK,
125 Time::Now()); 135 Time::Now());
126 } 136 }
127 137
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 content::Details<HistoryDetails> det(details); 241 content::Details<HistoryDetails> det(details);
232 mem_backend_->Observe(type, content::Source<HistoryBackendTest>(NULL), det); 242 mem_backend_->Observe(type, content::Source<HistoryBackendTest>(NULL), det);
233 243
234 // The backend passes ownership of the details pointer to us. 244 // The backend passes ownership of the details pointer to us.
235 delete details; 245 delete details;
236 } 246 }
237 247
238 MessageLoop message_loop_; 248 MessageLoop message_loop_;
239 FilePath test_dir_; 249 FilePath test_dir_;
240 history::MostVisitedURLList most_visited_list_; 250 history::MostVisitedURLList most_visited_list_;
251 history::FilteredURLList filtered_list_;
241 }; 252 };
242 253
243 void HistoryBackendTestDelegate::SetInMemoryBackend(int backend_id, 254 void HistoryBackendTestDelegate::SetInMemoryBackend(int backend_id,
244 InMemoryHistoryBackend* backend) { 255 InMemoryHistoryBackend* backend) {
245 test_->SetInMemoryBackend(backend_id, backend); 256 test_->SetInMemoryBackend(backend_id, backend);
246 } 257 }
247 258
248 void HistoryBackendTestDelegate::BroadcastNotifications( 259 void HistoryBackendTestDelegate::BroadcastNotifications(
249 int type, 260 int type,
250 HistoryDetails* details) { 261 HistoryDetails* details) {
(...skipping 1035 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 false, 1297 false,
1287 tested_time - one_day + half_an_hour * 2, 1298 tested_time - one_day + half_an_hour * 2,
1288 &transition1, &transition2); 1299 &transition1, &transition2);
1289 1300
1290 redirect_sequence[0] = yahoo_sports_soccer; 1301 redirect_sequence[0] = yahoo_sports_soccer;
1291 AddRedirectChainWithTransitionAndTime(redirect_sequence, 0, 1302 AddRedirectChainWithTransitionAndTime(redirect_sequence, 0,
1292 kTypedTransition, 1303 kTypedTransition,
1293 tested_time - half_an_hour); 1304 tested_time - half_an_hour);
1294 backend_->Commit(); 1305 backend_->Commit();
1295 1306
1296 scoped_refptr<QueryMostVisitedURLsRequest> request1 = 1307 scoped_refptr<QueryFilteredURLsRequest> request1 =
1297 new history::QueryMostVisitedURLsRequest( 1308 new history::QueryFilteredURLsRequest(
1298 base::Bind(&HistoryBackendTest::OnQueryMostVisited, 1309 base::Bind(&HistoryBackendTest::OnQueryFiltered,
1299 base::Unretained(static_cast<HistoryBackendTest*>(this)))); 1310 base::Unretained(static_cast<HistoryBackendTest*>(this))));
1300 HistoryBackendCancelableRequest cancellable_request; 1311 HistoryBackendCancelableRequest cancellable_request;
1301 cancellable_request.MockScheduleOfRequest<QueryMostVisitedURLsRequest>( 1312 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>(
1302 request1); 1313 request1);
1303 1314
1304 VisitFilter filter; 1315 VisitFilter filter;
1305 // Time limit is |tested_time| +/- 45 min. 1316 // Time limit is |tested_time| +/- 45 min.
1306 base::TimeDelta three_quarters_of_an_hour = base::TimeDelta::FromMinutes(45); 1317 base::TimeDelta three_quarters_of_an_hour = base::TimeDelta::FromMinutes(45);
1307 filter.SetTimeInRangeFilter(tested_time - three_quarters_of_an_hour, 1318 filter.SetTimeInRangeFilter(tested_time - three_quarters_of_an_hour,
1308 tested_time + three_quarters_of_an_hour); 1319 tested_time + three_quarters_of_an_hour);
1309 backend_->QueryFilteredURLs(request1, 100, filter); 1320 backend_->QueryFilteredURLs(request1, 100, filter);
1310 1321
1311 ASSERT_EQ(4U, get_most_visited_list().size()); 1322 ASSERT_EQ(4U, get_filtered_list().size());
1312 EXPECT_EQ(std::string(google), get_most_visited_list()[0].url.spec()); 1323 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec());
1313 EXPECT_EQ(std::string(yahoo_sports_soccer), 1324 EXPECT_EQ(std::string(yahoo_sports_soccer),
1314 get_most_visited_list()[1].url.spec()); 1325 get_filtered_list()[1].url.spec());
1315 EXPECT_EQ(std::string(yahoo), get_most_visited_list()[2].url.spec()); 1326 EXPECT_EQ(std::string(yahoo), get_filtered_list()[2].url.spec());
1316 EXPECT_EQ(std::string(yahoo_sports), 1327 EXPECT_EQ(std::string(yahoo_sports),
1317 get_most_visited_list()[3].url.spec()); 1328 get_filtered_list()[3].url.spec());
1318 1329
1319 // Time limit is between |tested_time| and |tested_time| + 2 hours. 1330 // Time limit is between |tested_time| and |tested_time| + 2 hours.
1320 scoped_refptr<QueryMostVisitedURLsRequest> request2 = 1331 scoped_refptr<QueryFilteredURLsRequest> request2 =
1321 new history::QueryMostVisitedURLsRequest( 1332 new history::QueryFilteredURLsRequest(
1322 base::Bind(&HistoryBackendTest::OnQueryMostVisited, 1333 base::Bind(&HistoryBackendTest::OnQueryFiltered,
1323 base::Unretained(static_cast<HistoryBackendTest*>(this)))); 1334 base::Unretained(static_cast<HistoryBackendTest*>(this))));
1324 cancellable_request.MockScheduleOfRequest<QueryMostVisitedURLsRequest>( 1335 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>(
1325 request2); 1336 request2);
1326 filter.SetTimeInRangeFilter(tested_time, 1337 filter.SetTimeInRangeFilter(tested_time,
1327 tested_time + base::TimeDelta::FromHours(2)); 1338 tested_time + base::TimeDelta::FromHours(2));
1328 backend_->QueryFilteredURLs(request2, 100, filter); 1339 backend_->QueryFilteredURLs(request2, 100, filter);
1329 1340
1330 ASSERT_EQ(3U, get_most_visited_list().size()); 1341 ASSERT_EQ(3U, get_filtered_list().size());
1331 EXPECT_EQ(std::string(google), get_most_visited_list()[0].url.spec()); 1342 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec());
1332 EXPECT_EQ(std::string(yahoo), get_most_visited_list()[1].url.spec()); 1343 EXPECT_EQ(std::string(yahoo), get_filtered_list()[1].url.spec());
1333 EXPECT_EQ(std::string(yahoo_sports), get_most_visited_list()[2].url.spec()); 1344 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec());
1334 1345
1335 // Time limit is between |tested_time| - 2 hours and |tested_time|. 1346 // Time limit is between |tested_time| - 2 hours and |tested_time|.
1336 scoped_refptr<QueryMostVisitedURLsRequest> request3 = 1347 scoped_refptr<QueryFilteredURLsRequest> request3 =
1337 new history::QueryMostVisitedURLsRequest( 1348 new history::QueryFilteredURLsRequest(
1338 base::Bind(&HistoryBackendTest::OnQueryMostVisited, 1349 base::Bind(&HistoryBackendTest::OnQueryFiltered,
1339 base::Unretained(static_cast<HistoryBackendTest*>(this)))); 1350 base::Unretained(static_cast<HistoryBackendTest*>(this))));
1340 cancellable_request.MockScheduleOfRequest<QueryMostVisitedURLsRequest>( 1351 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>(
1341 request3); 1352 request3);
1342 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(2), 1353 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(2),
1343 tested_time); 1354 tested_time);
1344 backend_->QueryFilteredURLs(request3, 100, filter); 1355 backend_->QueryFilteredURLs(request3, 100, filter);
1345 1356
1346 ASSERT_EQ(3U, get_most_visited_list().size()); 1357 ASSERT_EQ(3U, get_filtered_list().size());
1347 EXPECT_EQ(std::string(google), get_most_visited_list()[0].url.spec()); 1358 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec());
1348 EXPECT_EQ(std::string(yahoo_sports_soccer), 1359 EXPECT_EQ(std::string(yahoo_sports_soccer),
1349 get_most_visited_list()[1].url.spec()); 1360 get_filtered_list()[1].url.spec());
1350 EXPECT_EQ(std::string(yahoo_sports), get_most_visited_list()[2].url.spec()); 1361 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec());
1351 1362
1352 filter.ClearFilters(); 1363 filter.ClearFilters();
1353 base::Time::Exploded exploded_time; 1364 base::Time::Exploded exploded_time;
1354 tested_time.LocalExplode(&exploded_time); 1365 tested_time.LocalExplode(&exploded_time);
1355 1366
1356 // Today. 1367 // Today.
1357 scoped_refptr<QueryMostVisitedURLsRequest> request4 = 1368 scoped_refptr<QueryFilteredURLsRequest> request4 =
1358 new history::QueryMostVisitedURLsRequest( 1369 new history::QueryFilteredURLsRequest(
1359 base::Bind(&HistoryBackendTest::OnQueryMostVisited, 1370 base::Bind(&HistoryBackendTest::OnQueryFiltered,
1360 base::Unretained(static_cast<HistoryBackendTest*>(this)))); 1371 base::Unretained(static_cast<HistoryBackendTest*>(this))));
1361 cancellable_request.MockScheduleOfRequest<QueryMostVisitedURLsRequest>( 1372 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>(
1362 request4); 1373 request4);
1363 filter.SetDayOfTheWeekFilter(static_cast<int>(exploded_time.day_of_week), 1374 filter.SetDayOfTheWeekFilter(static_cast<int>(exploded_time.day_of_week),
1364 tested_time); 1375 tested_time);
1365 backend_->QueryFilteredURLs(request4, 100, filter); 1376 backend_->QueryFilteredURLs(request4, 100, filter);
1366 1377
1367 ASSERT_EQ(2U, get_most_visited_list().size()); 1378 ASSERT_EQ(2U, get_filtered_list().size());
1368 EXPECT_EQ(std::string(google), get_most_visited_list()[0].url.spec()); 1379 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec());
1369 EXPECT_EQ(std::string(yahoo_sports_soccer), 1380 EXPECT_EQ(std::string(yahoo_sports_soccer),
1370 get_most_visited_list()[1].url.spec()); 1381 get_filtered_list()[1].url.spec());
1371 1382
1372 // Today + time limit - only yahoo_sports_soccer should fit. 1383 // Today + time limit - only yahoo_sports_soccer should fit.
1373 scoped_refptr<QueryMostVisitedURLsRequest> request5 = 1384 scoped_refptr<QueryFilteredURLsRequest> request5 =
1374 new history::QueryMostVisitedURLsRequest( 1385 new history::QueryFilteredURLsRequest(
1375 base::Bind(&HistoryBackendTest::OnQueryMostVisited, 1386 base::Bind(&HistoryBackendTest::OnQueryFiltered,
1376 base::Unretained(static_cast<HistoryBackendTest*>(this)))); 1387 base::Unretained(static_cast<HistoryBackendTest*>(this))));
1377 cancellable_request.MockScheduleOfRequest<QueryMostVisitedURLsRequest>( 1388 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>(
1378 request5); 1389 request5);
1379 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(1), 1390 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(1),
1380 tested_time - base::TimeDelta::FromMinutes(20)); 1391 tested_time - base::TimeDelta::FromMinutes(20));
1381 backend_->QueryFilteredURLs(request5, 100, filter); 1392 backend_->QueryFilteredURLs(request5, 100, filter);
1382 1393
1383 ASSERT_EQ(1U, get_most_visited_list().size()); 1394 ASSERT_EQ(1U, get_filtered_list().size());
1384 EXPECT_EQ(std::string(yahoo_sports_soccer), 1395 EXPECT_EQ(std::string(yahoo_sports_soccer),
1385 get_most_visited_list()[0].url.spec()); 1396 get_filtered_list()[0].url.spec());
1386 } 1397 }
1387 1398
1388 TEST_F(HistoryBackendTest, UpdateVisitDuration) { 1399 TEST_F(HistoryBackendTest, UpdateVisitDuration) {
1389 // This unit test will test adding and deleting visit details information. 1400 // This unit test will test adding and deleting visit details information.
1390 ASSERT_TRUE(backend_.get()); 1401 ASSERT_TRUE(backend_.get());
1391 1402
1392 GURL url1("http://www.cnn.com"); 1403 GURL url1("http://www.cnn.com");
1393 std::vector<VisitInfo> visit_info1, visit_info2; 1404 std::vector<VisitInfo> visit_info1, visit_info2;
1394 Time start_ts = Time::Now() - base::TimeDelta::FromDays(5); 1405 Time start_ts = Time::Now() - base::TimeDelta::FromDays(5);
1395 Time end_ts = start_ts + base::TimeDelta::FromDays(2); 1406 Time end_ts = start_ts + base::TimeDelta::FromDays(2);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1494 EXPECT_EQ(cur_version, file_version); 1505 EXPECT_EQ(cur_version, file_version);
1495 1506
1496 // Check visit_duration column in visits table is created and set to 0. 1507 // Check visit_duration column in visits table is created and set to 0.
1497 s1.Assign(archived_db.GetUniqueStatement( 1508 s1.Assign(archived_db.GetUniqueStatement(
1498 "SELECT visit_duration FROM visits LIMIT 1")); 1509 "SELECT visit_duration FROM visits LIMIT 1"));
1499 ASSERT_TRUE(s1.Step()); 1510 ASSERT_TRUE(s1.Step());
1500 EXPECT_EQ(0, s1.ColumnInt(0)); 1511 EXPECT_EQ(0, s1.ColumnInt(0));
1501 } 1512 }
1502 1513
1503 } // namespace history 1514 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698