OLD | NEW |
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 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 EXPECT_EQ(0, backend_->db()->GetSegmentNamed(segment_name)); | 603 EXPECT_EQ(0, backend_->db()->GetSegmentNamed(segment_name)); |
604 | 604 |
605 // One visit should be added. | 605 // One visit should be added. |
606 VisitVector visits; | 606 VisitVector visits; |
607 EXPECT_TRUE(backend_->db()->GetVisitsForURL(url_id, &visits)); | 607 EXPECT_TRUE(backend_->db()->GetVisitsForURL(url_id, &visits)); |
608 EXPECT_EQ(1U, visits.size()); | 608 EXPECT_EQ(1U, visits.size()); |
609 | 609 |
610 // But no visible visits. | 610 // But no visible visits. |
611 visits.clear(); | 611 visits.clear(); |
612 backend_->db()->GetVisibleVisitsInRange(base::Time(), base::Time(), 1, | 612 backend_->db()->GetVisibleVisitsInRange(base::Time(), base::Time(), 1, |
613 &visits); | 613 &visits, true); |
614 EXPECT_TRUE(visits.empty()); | 614 EXPECT_TRUE(visits.empty()); |
615 | 615 |
616 // Expire the visits. | 616 // Expire the visits. |
617 std::set<GURL> restrict_urls; | 617 std::set<GURL> restrict_urls; |
618 backend_->expire_backend()->ExpireHistoryBetween(restrict_urls, | 618 backend_->expire_backend()->ExpireHistoryBetween(restrict_urls, |
619 visit_time, Time::Now()); | 619 visit_time, Time::Now()); |
620 | 620 |
621 // The visit should have been nuked. | 621 // The visit should have been nuked. |
622 visits.clear(); | 622 visits.clear(); |
623 EXPECT_TRUE(backend_->db()->GetVisitsForURL(url_id, &visits)); | 623 EXPECT_TRUE(backend_->db()->GetVisitsForURL(url_id, &visits)); |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 const char* yahoo_sports_with_article2 = | 1248 const char* yahoo_sports_with_article2 = |
1249 "http://sports.yahoo.com/article2.htm"; | 1249 "http://sports.yahoo.com/article2.htm"; |
1250 const char* yahoo_sports_soccer = "http://sports.yahoo.com/soccer"; | 1250 const char* yahoo_sports_soccer = "http://sports.yahoo.com/soccer"; |
1251 | 1251 |
1252 // Clear all history. | 1252 // Clear all history. |
1253 backend_->DeleteAllHistory(); | 1253 backend_->DeleteAllHistory(); |
1254 | 1254 |
1255 Time tested_time = Time::Now().LocalMidnight() + | 1255 Time tested_time = Time::Now().LocalMidnight() + |
1256 base::TimeDelta::FromHours(4); | 1256 base::TimeDelta::FromHours(4); |
1257 base::TimeDelta half_an_hour = base::TimeDelta::FromMinutes(30); | 1257 base::TimeDelta half_an_hour = base::TimeDelta::FromMinutes(30); |
| 1258 base::TimeDelta one_hour = base::TimeDelta::FromHours(1); |
1258 base::TimeDelta one_day = base::TimeDelta::FromDays(1); | 1259 base::TimeDelta one_day = base::TimeDelta::FromDays(1); |
1259 | 1260 |
1260 const content::PageTransition kTypedTransition = | 1261 const content::PageTransition kTypedTransition = |
1261 content::PAGE_TRANSITION_TYPED; | 1262 content::PAGE_TRANSITION_TYPED; |
1262 | 1263 |
1263 const char* redirect_sequence[2]; | 1264 const char* redirect_sequence[2]; |
1264 redirect_sequence[1] = NULL; | 1265 redirect_sequence[1] = NULL; |
1265 | 1266 |
1266 redirect_sequence[0] = google; | 1267 redirect_sequence[0] = google; |
1267 AddRedirectChainWithTransitionAndTime( | 1268 AddRedirectChainWithTransitionAndTime( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 new history::QueryFilteredURLsRequest( | 1311 new history::QueryFilteredURLsRequest( |
1311 base::Bind(&HistoryBackendTest::OnQueryFiltered, | 1312 base::Bind(&HistoryBackendTest::OnQueryFiltered, |
1312 base::Unretained(static_cast<HistoryBackendTest*>(this)))); | 1313 base::Unretained(static_cast<HistoryBackendTest*>(this)))); |
1313 HistoryBackendCancelableRequest cancellable_request; | 1314 HistoryBackendCancelableRequest cancellable_request; |
1314 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( | 1315 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( |
1315 request1); | 1316 request1); |
1316 | 1317 |
1317 VisitFilter filter; | 1318 VisitFilter filter; |
1318 // Time limit is |tested_time| +/- 45 min. | 1319 // Time limit is |tested_time| +/- 45 min. |
1319 base::TimeDelta three_quarters_of_an_hour = base::TimeDelta::FromMinutes(45); | 1320 base::TimeDelta three_quarters_of_an_hour = base::TimeDelta::FromMinutes(45); |
1320 filter.SetTimeInRangeFilter(tested_time - three_quarters_of_an_hour, | 1321 filter.SetFilterTime(tested_time); |
1321 tested_time + three_quarters_of_an_hour); | 1322 filter.SetFilterWidth(three_quarters_of_an_hour); |
1322 backend_->QueryFilteredURLs(request1, 100, filter); | 1323 backend_->QueryFilteredURLs(request1, 100, filter); |
1323 | 1324 |
1324 ASSERT_EQ(4U, get_filtered_list().size()); | 1325 ASSERT_EQ(4U, get_filtered_list().size()); |
1325 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); | 1326 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); |
1326 EXPECT_EQ(std::string(yahoo_sports_soccer), | 1327 EXPECT_EQ(std::string(yahoo_sports_soccer), |
1327 get_filtered_list()[1].url.spec()); | 1328 get_filtered_list()[1].url.spec()); |
1328 EXPECT_EQ(std::string(yahoo), get_filtered_list()[2].url.spec()); | 1329 EXPECT_EQ(std::string(yahoo), get_filtered_list()[2].url.spec()); |
1329 EXPECT_EQ(std::string(yahoo_sports), | 1330 EXPECT_EQ(std::string(yahoo_sports), |
1330 get_filtered_list()[3].url.spec()); | 1331 get_filtered_list()[3].url.spec()); |
1331 | 1332 |
1332 // Time limit is between |tested_time| and |tested_time| + 2 hours. | 1333 // Time limit is between |tested_time| and |tested_time| + 2 hours. |
1333 scoped_refptr<QueryFilteredURLsRequest> request2 = | 1334 scoped_refptr<QueryFilteredURLsRequest> request2 = |
1334 new history::QueryFilteredURLsRequest( | 1335 new history::QueryFilteredURLsRequest( |
1335 base::Bind(&HistoryBackendTest::OnQueryFiltered, | 1336 base::Bind(&HistoryBackendTest::OnQueryFiltered, |
1336 base::Unretained(static_cast<HistoryBackendTest*>(this)))); | 1337 base::Unretained(static_cast<HistoryBackendTest*>(this)))); |
1337 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( | 1338 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( |
1338 request2); | 1339 request2); |
1339 filter.SetTimeInRangeFilter(tested_time, | 1340 filter.SetFilterTime(tested_time + one_hour); |
1340 tested_time + base::TimeDelta::FromHours(2)); | 1341 filter.SetFilterWidth(one_hour); |
1341 backend_->QueryFilteredURLs(request2, 100, filter); | 1342 backend_->QueryFilteredURLs(request2, 100, filter); |
1342 | 1343 |
1343 ASSERT_EQ(3U, get_filtered_list().size()); | 1344 ASSERT_EQ(3U, get_filtered_list().size()); |
1344 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); | 1345 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); |
1345 EXPECT_EQ(std::string(yahoo), get_filtered_list()[1].url.spec()); | 1346 EXPECT_EQ(std::string(yahoo), get_filtered_list()[1].url.spec()); |
1346 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec()); | 1347 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec()); |
1347 | 1348 |
1348 // Time limit is between |tested_time| - 2 hours and |tested_time|. | 1349 // Time limit is between |tested_time| - 2 hours and |tested_time|. |
1349 scoped_refptr<QueryFilteredURLsRequest> request3 = | 1350 scoped_refptr<QueryFilteredURLsRequest> request3 = |
1350 new history::QueryFilteredURLsRequest( | 1351 new history::QueryFilteredURLsRequest( |
1351 base::Bind(&HistoryBackendTest::OnQueryFiltered, | 1352 base::Bind(&HistoryBackendTest::OnQueryFiltered, |
1352 base::Unretained(static_cast<HistoryBackendTest*>(this)))); | 1353 base::Unretained(static_cast<HistoryBackendTest*>(this)))); |
1353 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( | 1354 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( |
1354 request3); | 1355 request3); |
1355 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(2), | 1356 filter.SetFilterTime(tested_time - one_hour); |
1356 tested_time); | 1357 filter.SetFilterWidth(one_hour); |
1357 backend_->QueryFilteredURLs(request3, 100, filter); | 1358 backend_->QueryFilteredURLs(request3, 100, filter); |
1358 | 1359 |
1359 ASSERT_EQ(3U, get_filtered_list().size()); | 1360 ASSERT_EQ(3U, get_filtered_list().size()); |
1360 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); | 1361 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); |
1361 EXPECT_EQ(std::string(yahoo_sports_soccer), | 1362 EXPECT_EQ(std::string(yahoo_sports_soccer), |
1362 get_filtered_list()[1].url.spec()); | 1363 get_filtered_list()[1].url.spec()); |
1363 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec()); | 1364 EXPECT_EQ(std::string(yahoo_sports), get_filtered_list()[2].url.spec()); |
1364 | 1365 |
1365 filter.ClearFilters(); | 1366 filter.ClearFilters(); |
1366 base::Time::Exploded exploded_time; | 1367 base::Time::Exploded exploded_time; |
1367 tested_time.LocalExplode(&exploded_time); | 1368 tested_time.LocalExplode(&exploded_time); |
1368 | 1369 |
1369 // Today. | 1370 // Today. |
1370 scoped_refptr<QueryFilteredURLsRequest> request4 = | 1371 scoped_refptr<QueryFilteredURLsRequest> request4 = |
1371 new history::QueryFilteredURLsRequest( | 1372 new history::QueryFilteredURLsRequest( |
1372 base::Bind(&HistoryBackendTest::OnQueryFiltered, | 1373 base::Bind(&HistoryBackendTest::OnQueryFiltered, |
1373 base::Unretained(static_cast<HistoryBackendTest*>(this)))); | 1374 base::Unretained(static_cast<HistoryBackendTest*>(this)))); |
1374 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( | 1375 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( |
1375 request4); | 1376 request4); |
1376 filter.SetDayOfTheWeekFilter(static_cast<int>(exploded_time.day_of_week), | 1377 filter.SetFilterTime(tested_time); |
1377 tested_time); | 1378 filter.SetDayOfTheWeekFilter(static_cast<int>(exploded_time.day_of_week)); |
1378 backend_->QueryFilteredURLs(request4, 100, filter); | 1379 backend_->QueryFilteredURLs(request4, 100, filter); |
1379 | 1380 |
1380 ASSERT_EQ(2U, get_filtered_list().size()); | 1381 ASSERT_EQ(2U, get_filtered_list().size()); |
1381 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); | 1382 EXPECT_EQ(std::string(google), get_filtered_list()[0].url.spec()); |
1382 EXPECT_EQ(std::string(yahoo_sports_soccer), | 1383 EXPECT_EQ(std::string(yahoo_sports_soccer), |
1383 get_filtered_list()[1].url.spec()); | 1384 get_filtered_list()[1].url.spec()); |
1384 | 1385 |
1385 // Today + time limit - only yahoo_sports_soccer should fit. | 1386 // Today + time limit - only yahoo_sports_soccer should fit. |
1386 scoped_refptr<QueryFilteredURLsRequest> request5 = | 1387 scoped_refptr<QueryFilteredURLsRequest> request5 = |
1387 new history::QueryFilteredURLsRequest( | 1388 new history::QueryFilteredURLsRequest( |
1388 base::Bind(&HistoryBackendTest::OnQueryFiltered, | 1389 base::Bind(&HistoryBackendTest::OnQueryFiltered, |
1389 base::Unretained(static_cast<HistoryBackendTest*>(this)))); | 1390 base::Unretained(static_cast<HistoryBackendTest*>(this)))); |
1390 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( | 1391 cancellable_request.MockScheduleOfRequest<QueryFilteredURLsRequest>( |
1391 request5); | 1392 request5); |
1392 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(1), | 1393 filter.SetFilterTime(tested_time - base::TimeDelta::FromMinutes(40)); |
1393 tested_time - base::TimeDelta::FromMinutes(20)); | 1394 filter.SetFilterWidth(base::TimeDelta::FromMinutes(20)); |
1394 backend_->QueryFilteredURLs(request5, 100, filter); | 1395 backend_->QueryFilteredURLs(request5, 100, filter); |
1395 | 1396 |
1396 ASSERT_EQ(1U, get_filtered_list().size()); | 1397 ASSERT_EQ(1U, get_filtered_list().size()); |
1397 EXPECT_EQ(std::string(yahoo_sports_soccer), | 1398 EXPECT_EQ(std::string(yahoo_sports_soccer), |
1398 get_filtered_list()[0].url.spec()); | 1399 get_filtered_list()[0].url.spec()); |
1399 } | 1400 } |
1400 | 1401 |
1401 TEST_F(HistoryBackendTest, UpdateVisitDuration) { | 1402 TEST_F(HistoryBackendTest, UpdateVisitDuration) { |
1402 // This unit test will test adding and deleting visit details information. | 1403 // This unit test will test adding and deleting visit details information. |
1403 ASSERT_TRUE(backend_.get()); | 1404 ASSERT_TRUE(backend_.get()); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1507 EXPECT_EQ(cur_version, file_version); | 1508 EXPECT_EQ(cur_version, file_version); |
1508 | 1509 |
1509 // Check visit_duration column in visits table is created and set to 0. | 1510 // Check visit_duration column in visits table is created and set to 0. |
1510 s1.Assign(archived_db.GetUniqueStatement( | 1511 s1.Assign(archived_db.GetUniqueStatement( |
1511 "SELECT visit_duration FROM visits LIMIT 1")); | 1512 "SELECT visit_duration FROM visits LIMIT 1")); |
1512 ASSERT_TRUE(s1.Step()); | 1513 ASSERT_TRUE(s1.Step()); |
1513 EXPECT_EQ(0, s1.ColumnInt(0)); | 1514 EXPECT_EQ(0, s1.ColumnInt(0)); |
1514 } | 1515 } |
1515 | 1516 |
1516 } // namespace history | 1517 } // namespace history |
OLD | NEW |