summaryrefslogtreecommitdiffstats
path: root/chrome/browser/history/history_backend_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/history/history_backend_unittest.cc')
-rw-r--r--chrome/browser/history/history_backend_unittest.cc233
1 files changed, 7 insertions, 226 deletions
diff --git a/chrome/browser/history/history_backend_unittest.cc b/chrome/browser/history/history_backend_unittest.cc
index 568fd4f..fe36c9d 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -15,8 +15,6 @@
#include "chrome/browser/history/history_notifications.h"
#include "chrome/browser/history/in_memory_history_backend.h"
#include "chrome/browser/history/in_memory_database.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/notification_service.h"
#include "chrome/common/thumbnail_score.h"
@@ -77,7 +75,7 @@ class HistoryBackendTest : public testing::Test {
scoped_refptr<history::HistoryAddPageArgs> request(
new history::HistoryAddPageArgs(
redirects.back(), Time::Now(), scope, page_id, GURL(),
- redirects, PageTransition::LINK, history::SOURCE_BROWSED, true));
+ redirects, PageTransition::LINK, true));
backend_->AddPage(request);
}
@@ -97,8 +95,7 @@ class HistoryBackendTest : public testing::Test {
redirects.push_back(url2);
scoped_refptr<HistoryAddPageArgs> request(
new HistoryAddPageArgs(url2, base::Time(), dummy_scope, 0, url1,
- redirects, PageTransition::CLIENT_REDIRECT,
- history::SOURCE_BROWSED, did_replace));
+ redirects, PageTransition::CLIENT_REDIRECT, did_replace));
backend_->AddPage(request);
*transition1 = getTransition(url1);
@@ -115,10 +112,6 @@ class HistoryBackendTest : public testing::Test {
return visits[0].transition;
}
- FilePath getTestDir() {
- return test_dir_;
- }
-
BookmarkModel bookmark_model_;
protected:
@@ -222,7 +215,7 @@ TEST_F(HistoryBackendTest, DeleteAll) {
std::vector<URLRow> rows;
rows.push_back(row2); // Reversed order for the same reason as favicons.
rows.push_back(row1);
- backend_->AddPagesWithDetails(rows, history::SOURCE_BROWSED);
+ backend_->AddPagesWithDetails(rows);
URLID row1_id = backend_->db_->GetRowForURL(row1.url(), NULL);
URLID row2_id = backend_->db_->GetRowForURL(row2.url(), NULL);
@@ -352,7 +345,7 @@ TEST_F(HistoryBackendTest, URLsNoLongerBookmarked) {
std::vector<URLRow> rows;
rows.push_back(row2); // Reversed order for the same reason as favicons.
rows.push_back(row1);
- backend_->AddPagesWithDetails(rows, history::SOURCE_BROWSED);
+ backend_->AddPagesWithDetails(rows);
URLID row1_id = backend_->db_->GetRowForURL(row1.url(), NULL);
URLID row2_id = backend_->db_->GetRowForURL(row2.url(), NULL);
@@ -461,8 +454,7 @@ TEST_F(HistoryBackendTest, KeywordGenerated) {
scoped_refptr<HistoryAddPageArgs> request(
new HistoryAddPageArgs(url, visit_time, NULL, 0, GURL(),
history::RedirectList(),
- PageTransition::KEYWORD_GENERATED,
- history::SOURCE_BROWSED, false));
+ PageTransition::KEYWORD_GENERATED, false));
backend_->AddPage(request);
// A row should have been added for the url.
@@ -545,7 +537,7 @@ TEST_F(HistoryBackendTest, ImportedFaviconsTest) {
std::vector<URLRow> rows;
rows.push_back(row1);
rows.push_back(row2);
- backend_->AddPagesWithDetails(rows, history::SOURCE_BROWSED);
+ backend_->AddPagesWithDetails(rows);
URLRow url_row1, url_row2;
EXPECT_FALSE(backend_->db_->GetRowForURL(row1.url(), &url_row1) == 0);
EXPECT_FALSE(backend_->db_->GetRowForURL(row2.url(), &url_row2) == 0);
@@ -600,8 +592,7 @@ TEST_F(HistoryBackendTest, StripUsernamePasswordTest) {
// Visit the url with username, password.
backend_->AddPageVisit(url, base::Time::Now(), 0,
- PageTransition::GetQualifier(PageTransition::TYPED),
- history::SOURCE_BROWSED);
+ PageTransition::GetQualifier(PageTransition::TYPED));
// Fetch the row information about stripped url from history db.
VisitVector visits;
@@ -621,214 +612,4 @@ TEST_F(HistoryBackendTest, DeleteThumbnailsDatabaseTest) {
EXPECT_FALSE(backend_->thumbnail_db_->NeedsMigrationToTopSites());
}
-TEST_F(HistoryBackendTest, AddPageVisitSource) {
- ASSERT_TRUE(backend_.get());
-
- GURL url("http://www.google.com");
-
- // Clear all history.
- backend_->DeleteAllHistory();
-
- // Assume visiting the url from an externsion.
- backend_->AddPageVisit(url, base::Time::Now(), 0, PageTransition::TYPED,
- history::SOURCE_EXTENSION);
- // Assume the url is imported from Firefox.
- backend_->AddPageVisit(url, base::Time::Now(), 0, PageTransition::TYPED,
- history::SOURCE_FIREFOX_IMPORTED);
- // Assume this url is also synced.
- backend_->AddPageVisit(url, base::Time::Now(), 0, PageTransition::TYPED,
- history::SOURCE_SYNCED);
-
- // Fetch the row information about the url from history db.
- VisitVector visits;
- URLID row_id = backend_->db_->GetRowForURL(url, NULL);
- backend_->db_->GetVisitsForURL(row_id, &visits);
-
- // Check if all the visits to the url are stored in database.
- ASSERT_EQ(3U, visits.size());
- VisitSourceMap visit_sources;
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(3U, visit_sources.size());
- int sources = 0;
- for (int i = 0; i < 3; i++) {
- switch (visit_sources[visits[i].visit_id]) {
- case history::SOURCE_EXTENSION:
- sources |= 0x1;
- break;
- case history::SOURCE_FIREFOX_IMPORTED:
- sources |= 0x2;
- break;
- case history::SOURCE_SYNCED:
- sources |= 0x4;
- default:
- break;
- }
- }
- EXPECT_EQ(0x7, sources);
-}
-
-TEST_F(HistoryBackendTest, AddPageArgsSource) {
- ASSERT_TRUE(backend_.get());
-
- GURL url("http://testpageargs.com");
-
- // Assume this page is browsed by user.
- scoped_refptr<HistoryAddPageArgs> request1(
- new HistoryAddPageArgs(url, base::Time::Now(), NULL, 0, GURL(),
- history::RedirectList(),
- PageTransition::KEYWORD_GENERATED,
- history::SOURCE_BROWSED, false));
- backend_->AddPage(request1);
- // Assume this page is synced.
- scoped_refptr<HistoryAddPageArgs> request2(
- new HistoryAddPageArgs(url, base::Time::Now(), NULL, 0, GURL(),
- history::RedirectList(),
- PageTransition::LINK,
- history::SOURCE_SYNCED, false));
- backend_->AddPage(request2);
- // Assume this page is browsed again.
- scoped_refptr<HistoryAddPageArgs> request3(
- new HistoryAddPageArgs(url, base::Time::Now(), NULL, 0, GURL(),
- history::RedirectList(),
- PageTransition::TYPED,
- history::SOURCE_BROWSED, false));
- backend_->AddPage(request3);
-
- // Three visits should be added with proper sources.
- VisitVector visits;
- URLRow row;
- URLID id = backend_->db()->GetRowForURL(url, &row);
- ASSERT_TRUE(backend_->db()->GetVisitsForURL(id, &visits));
- ASSERT_EQ(3U, visits.size());
- VisitSourceMap visit_sources;
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(1U, visit_sources.size());
- EXPECT_EQ(history::SOURCE_SYNCED, visit_sources.begin()->second);
-}
-
-TEST_F(HistoryBackendTest, AddVisitsSource) {
- ASSERT_TRUE(backend_.get());
-
- GURL url1("http://www.cnn.com");
- std::vector<base::Time> visits1;
- visits1.push_back(Time::Now() - base::TimeDelta::FromDays(5));
- visits1.push_back(Time::Now() - base::TimeDelta::FromDays(1));
- visits1.push_back(Time::Now());
-
- GURL url2("http://www.example.com");
- std::vector<base::Time> visits2;
- visits2.push_back(Time::Now() - base::TimeDelta::FromDays(10));
- visits2.push_back(Time::Now());
-
- // Clear all history.
- backend_->DeleteAllHistory();
-
- // Add the visits.
- backend_->AddVisits(url1, visits1, history::SOURCE_IE_IMPORTED);
- backend_->AddVisits(url2, visits2, history::SOURCE_SYNCED);
-
- // Verify the visits were added with their sources.
- VisitVector visits;
- URLRow row;
- URLID id = backend_->db()->GetRowForURL(url1, &row);
- ASSERT_TRUE(backend_->db()->GetVisitsForURL(id, &visits));
- ASSERT_EQ(3U, visits.size());
- VisitSourceMap visit_sources;
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(3U, visit_sources.size());
- for (int i = 0; i < 3; i++)
- EXPECT_EQ(history::SOURCE_IE_IMPORTED, visit_sources[visits[i].visit_id]);
- id = backend_->db()->GetRowForURL(url2, &row);
- ASSERT_TRUE(backend_->db()->GetVisitsForURL(id, &visits));
- ASSERT_EQ(2U, visits.size());
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(2U, visit_sources.size());
- for (int i = 0; i < 2; i++)
- EXPECT_EQ(history::SOURCE_SYNCED, visit_sources[visits[i].visit_id]);
-}
-
-TEST_F(HistoryBackendTest, RemoveVisitsSource) {
- ASSERT_TRUE(backend_.get());
-
- GURL url1("http://www.cnn.com");
- std::vector<base::Time> visits1;
- visits1.push_back(Time::Now() - base::TimeDelta::FromDays(5));
- visits1.push_back(Time::Now());
-
- GURL url2("http://www.example.com");
- std::vector<base::Time> visits2;
- visits2.push_back(Time::Now() - base::TimeDelta::FromDays(10));
- visits2.push_back(Time::Now());
-
- // Clear all history.
- backend_->DeleteAllHistory();
-
- // Add the visits.
- backend_->AddVisits(url1, visits1, history::SOURCE_IE_IMPORTED);
- backend_->AddVisits(url2, visits2, history::SOURCE_SYNCED);
-
- // Verify the visits of url1 were added.
- VisitVector visits;
- URLRow row;
- URLID id = backend_->db()->GetRowForURL(url1, &row);
- ASSERT_TRUE(backend_->db()->GetVisitsForURL(id, &visits));
- ASSERT_EQ(2U, visits.size());
- // Remove these visits.
- ASSERT_TRUE(backend_->RemoveVisits(visits));
-
- // Now check only url2's source in visit_source table.
- VisitSourceMap visit_sources;
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(0U, visit_sources.size());
- id = backend_->db()->GetRowForURL(url2, &row);
- ASSERT_TRUE(backend_->db()->GetVisitsForURL(id, &visits));
- ASSERT_EQ(2U, visits.size());
- backend_->db_->GetVisitsSource(visits, &visit_sources);
- ASSERT_EQ(2U, visit_sources.size());
- for (int i = 0; i < 2; i++)
- EXPECT_EQ(history::SOURCE_SYNCED, visit_sources[visits[i].visit_id]);
-}
-
-// Test for migration of adding visit_source table.
-TEST_F(HistoryBackendTest, MigrationVisitSource) {
- ASSERT_TRUE(backend_.get());
-
- FilePath old_history_path;
- ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &old_history_path));
- old_history_path = old_history_path.AppendASCII("History");
- old_history_path = old_history_path.AppendASCII("HistoryNoSource");
-
- // Copy history database file to current directory so that it will be deleted
- // in Teardown.
- FilePath new_history_path(getTestDir());
- file_util::Delete(new_history_path, true);
- file_util::CreateDirectory(new_history_path);
- FilePath new_history_file = new_history_path.Append(chrome::kHistoryFilename);
- ASSERT_TRUE(file_util::CopyFile(old_history_path, new_history_file));
-
- backend_->Closing();
- backend_ = new HistoryBackend(new_history_path,
- new HistoryBackendTestDelegate(this),
- &bookmark_model_);
- backend_->Init(false);
-
- // Now the database should already be migrated.
- // Check version first.
- int cur_version = HistoryDatabase::GetCurrentVersion();
- sql::Connection db;
- ASSERT_TRUE(db.Open(new_history_file));
- sql::Statement s(db.GetUniqueStatement(
- "SELECT value FROM meta WHERE key = 'version'"));
- ASSERT_TRUE(s.Step());
- int file_version = s.ColumnInt(0);
- EXPECT_EQ(cur_version, file_version);
-
- // Check visit_source table is created and empty.
- s.Assign(db.GetUniqueStatement(
- "SELECT name FROM sqlite_master WHERE name=\"visit_source\""));
- ASSERT_TRUE(s.Step());
- s.Assign(db.GetUniqueStatement("SELECT * FROM visit_source LIMIT 10"));
- EXPECT_FALSE(s.Step());
-}
-
} // namespace history