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

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

Powered by Google App Engine
This is Rietveld 408576698