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 1367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1378 request5); | 1378 request5); |
1379 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(1), | 1379 filter.SetTimeInRangeFilter(tested_time - base::TimeDelta::FromHours(1), |
1380 tested_time - base::TimeDelta::FromMinutes(20)); | 1380 tested_time - base::TimeDelta::FromMinutes(20)); |
1381 backend_->QueryFilteredURLs(request5, 100, filter); | 1381 backend_->QueryFilteredURLs(request5, 100, filter); |
1382 | 1382 |
1383 ASSERT_EQ(1U, get_most_visited_list().size()); | 1383 ASSERT_EQ(1U, get_most_visited_list().size()); |
1384 EXPECT_EQ(std::string(yahoo_sports_soccer), | 1384 EXPECT_EQ(std::string(yahoo_sports_soccer), |
1385 get_most_visited_list()[0].url.spec()); | 1385 get_most_visited_list()[0].url.spec()); |
1386 } | 1386 } |
1387 | 1387 |
| 1388 TEST_F(HistoryBackendTest, UpdateVisitDetails) { |
| 1389 // This unit test will test adding and deleting visit details information. |
| 1390 ASSERT_TRUE(backend_.get()); |
| 1391 |
| 1392 GURL url1("http://www.cnn.com"); |
| 1393 std::vector<VisitInfo> visit_info1, visit_info2; |
| 1394 Time start_ts = Time::Now() - base::TimeDelta::FromDays(5); |
| 1395 Time end_ts = start_ts + base::TimeDelta::FromDays(2); |
| 1396 visit_info1.push_back(VisitInfo(start_ts, content::PAGE_TRANSITION_LINK)); |
| 1397 |
| 1398 GURL url2("http://www.example.com"); |
| 1399 visit_info2.push_back(VisitInfo(Time::Now() - base::TimeDelta::FromDays(10), |
| 1400 content::PAGE_TRANSITION_LINK)); |
| 1401 |
| 1402 // Clear all history. |
| 1403 backend_->DeleteAllHistory(); |
| 1404 |
| 1405 // Add the visits. |
| 1406 backend_->AddVisits(url1, visit_info1, history::SOURCE_BROWSED); |
| 1407 backend_->AddVisits(url2, visit_info2, history::SOURCE_BROWSED); |
| 1408 |
| 1409 // Verify the entries for both visits were added in visit_details. |
| 1410 VisitVector visits1, visits2; |
| 1411 URLRow row; |
| 1412 VisitDetailMap visit_details; |
| 1413 URLID url_id1 = backend_->db()->GetRowForURL(url1, &row); |
| 1414 ASSERT_TRUE(backend_->db()->GetVisitsForURL(url_id1, &visits1)); |
| 1415 ASSERT_EQ(1U, visits1.size()); |
| 1416 backend_->db()->GetVisitDetails(visits1, &visit_details); |
| 1417 ASSERT_EQ(1U, visit_details.size()); |
| 1418 EXPECT_EQ(0, visit_details[visits1[0].visit_id].duration.ToInternalValue()); |
| 1419 |
| 1420 URLID url_id2 = backend_->db()->GetRowForURL(url2, &row); |
| 1421 ASSERT_TRUE(backend_->db()->GetVisitsForURL(url_id2, &visits2)); |
| 1422 ASSERT_EQ(1U, visits2.size()); |
| 1423 backend_->db()->GetVisitDetails(visits2, &visit_details); |
| 1424 ASSERT_EQ(1U, visit_details.size()); |
| 1425 EXPECT_EQ(0, visit_details[visits2[0].visit_id].duration.ToInternalValue()); |
| 1426 |
| 1427 // Update the visit to cnn.com. |
| 1428 backend_->UpdateVisitDetails(visits1[0].visit_id, end_ts); |
| 1429 |
| 1430 // Check the duration for visiting cnn.com was correctly updated. |
| 1431 backend_->db()->GetVisitDetails(visits1, &visit_details); |
| 1432 ASSERT_EQ(1U, visit_details.size()); |
| 1433 base::TimeDelta expected_duration = end_ts - start_ts; |
| 1434 EXPECT_EQ(expected_duration.ToInternalValue(), |
| 1435 visit_details[visits1[0].visit_id].duration.ToInternalValue()); |
| 1436 |
| 1437 // Remove the visit to cnn.com should also remove its details. |
| 1438 ASSERT_TRUE(backend_->RemoveVisits(visits1)); |
| 1439 backend_->db()->GetVisitDetails(visits1, &visit_details); |
| 1440 ASSERT_EQ(0U, visit_details.size()); |
| 1441 } |
| 1442 |
1388 } // namespace history | 1443 } // namespace history |
OLD | NEW |