| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <fstream> | 6 #include <fstream> |
| 7 | 7 |
| 8 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "chrome/browser/history/history_notifications.h" | 21 #include "chrome/browser/history/history_notifications.h" |
| 22 #include "chrome/browser/history/history_service.h" | 22 #include "chrome/browser/history/history_service.h" |
| 23 #include "chrome/browser/history/history_service_factory.h" | 23 #include "chrome/browser/history/history_service_factory.h" |
| 24 #include "chrome/browser/history/in_memory_url_index.h" | 24 #include "chrome/browser/history/in_memory_url_index.h" |
| 25 #include "chrome/browser/history/in_memory_url_index_types.h" | 25 #include "chrome/browser/history/in_memory_url_index_types.h" |
| 26 #include "chrome/browser/history/url_index_private_data.h" | 26 #include "chrome/browser/history/url_index_private_data.h" |
| 27 #include "chrome/common/chrome_paths.h" | 27 #include "chrome/common/chrome_paths.h" |
| 28 #include "chrome/test/base/history_index_restore_observer.h" | 28 #include "chrome/test/base/history_index_restore_observer.h" |
| 29 #include "chrome/test/base/testing_profile.h" | 29 #include "chrome/test/base/testing_profile.h" |
| 30 #include "components/bookmarks/test/bookmark_test_helpers.h" | 30 #include "components/bookmarks/test/bookmark_test_helpers.h" |
| 31 #include "components/history/core/browser/history_client.h" |
| 31 #include "content/public/browser/notification_details.h" | 32 #include "content/public/browser/notification_details.h" |
| 32 #include "content/public/browser/notification_source.h" | 33 #include "content/public/browser/notification_source.h" |
| 33 #include "content/public/test/test_browser_thread.h" | 34 #include "content/public/test/test_browser_thread.h" |
| 34 #include "sql/transaction.h" | 35 #include "sql/transaction.h" |
| 35 #include "testing/gtest/include/gtest/gtest.h" | 36 #include "testing/gtest/include/gtest/gtest.h" |
| 36 | 37 |
| 37 using base::ASCIIToUTF16; | 38 using base::ASCIIToUTF16; |
| 38 using content::BrowserThread; | 39 using content::BrowserThread; |
| 39 | 40 |
| 40 namespace { | 41 namespace { |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 history_database_->FillVisitRow(statement, &row); | 271 history_database_->FillVisitRow(statement, &row); |
| 271 base::Time last_visit = time_right_now; | 272 base::Time last_visit = time_right_now; |
| 272 for (int64 i = row.visit_time.ToInternalValue(); i > 0; --i) | 273 for (int64 i = row.visit_time.ToInternalValue(); i > 0; --i) |
| 273 last_visit -= day_delta; | 274 last_visit -= day_delta; |
| 274 row.visit_time = last_visit; | 275 row.visit_time = last_visit; |
| 275 history_database_->UpdateVisitRow(row); | 276 history_database_->UpdateVisitRow(row); |
| 276 } | 277 } |
| 277 transaction.Commit(); | 278 transaction.Commit(); |
| 278 } | 279 } |
| 279 | 280 |
| 280 url_index_.reset( | 281 url_index_.reset(new InMemoryURLIndex( |
| 281 new InMemoryURLIndex(&profile_, base::FilePath(), "en,ja,hi,zh")); | 282 &profile_, base::FilePath(), "en,ja,hi,zh", |
| 283 history_service_->history_client())); |
| 282 url_index_->Init(); | 284 url_index_->Init(); |
| 283 url_index_->RebuildFromHistory(history_database_); | 285 url_index_->RebuildFromHistory(history_database_); |
| 284 } | 286 } |
| 285 | 287 |
| 286 base::FilePath::StringType InMemoryURLIndexTest::TestDBName() const { | 288 base::FilePath::StringType InMemoryURLIndexTest::TestDBName() const { |
| 287 return FILE_PATH_LITERAL("url_history_provider_test.db.txt"); | 289 return FILE_PATH_LITERAL("url_history_provider_test.db.txt"); |
| 288 } | 290 } |
| 289 | 291 |
| 290 void InMemoryURLIndexTest::CheckTerm( | 292 void InMemoryURLIndexTest::CheckTerm( |
| 291 const URLIndexPrivateData::SearchTermCacheMap& cache, | 293 const URLIndexPrivateData::SearchTermCacheMap& cache, |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 } | 430 } |
| 429 | 431 |
| 430 TEST_F(LimitedInMemoryURLIndexTest, Initialization) { | 432 TEST_F(LimitedInMemoryURLIndexTest, Initialization) { |
| 431 // Verify that the database contains the expected number of items, which | 433 // Verify that the database contains the expected number of items, which |
| 432 // is the pre-filtered count, i.e. all of the items. | 434 // is the pre-filtered count, i.e. all of the items. |
| 433 sql::Statement statement(GetDB().GetUniqueStatement("SELECT * FROM urls;")); | 435 sql::Statement statement(GetDB().GetUniqueStatement("SELECT * FROM urls;")); |
| 434 ASSERT_TRUE(statement.is_valid()); | 436 ASSERT_TRUE(statement.is_valid()); |
| 435 uint64 row_count = 0; | 437 uint64 row_count = 0; |
| 436 while (statement.Step()) ++row_count; | 438 while (statement.Step()) ++row_count; |
| 437 EXPECT_EQ(1U, row_count); | 439 EXPECT_EQ(1U, row_count); |
| 438 url_index_.reset( | 440 url_index_.reset(new InMemoryURLIndex( |
| 439 new InMemoryURLIndex(&profile_, base::FilePath(), "en,ja,hi,zh")); | 441 &profile_, base::FilePath(), "en,ja,hi,zh", |
| 442 history_service_->history_client())); |
| 440 url_index_->Init(); | 443 url_index_->Init(); |
| 441 url_index_->RebuildFromHistory(history_database_); | 444 url_index_->RebuildFromHistory(history_database_); |
| 442 URLIndexPrivateData& private_data(*GetPrivateData()); | 445 URLIndexPrivateData& private_data(*GetPrivateData()); |
| 443 | 446 |
| 444 // history_info_map_ should have the same number of items as were filtered. | 447 // history_info_map_ should have the same number of items as were filtered. |
| 445 EXPECT_EQ(1U, private_data.history_info_map_.size()); | 448 EXPECT_EQ(1U, private_data.history_info_map_.size()); |
| 446 EXPECT_EQ(35U, private_data.char_word_map_.size()); | 449 EXPECT_EQ(35U, private_data.char_word_map_.size()); |
| 447 EXPECT_EQ(17U, private_data.word_map_.size()); | 450 EXPECT_EQ(17U, private_data.word_map_.size()); |
| 448 } | 451 } |
| 449 | 452 |
| (...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 // Pass-through functions to simplify our friendship with InMemoryURLIndex. | 1153 // Pass-through functions to simplify our friendship with InMemoryURLIndex. |
| 1151 void set_history_dir(const base::FilePath& dir_path); | 1154 void set_history_dir(const base::FilePath& dir_path); |
| 1152 bool GetCacheFilePath(base::FilePath* file_path) const; | 1155 bool GetCacheFilePath(base::FilePath* file_path) const; |
| 1153 | 1156 |
| 1154 base::ScopedTempDir temp_dir_; | 1157 base::ScopedTempDir temp_dir_; |
| 1155 scoped_ptr<InMemoryURLIndex> url_index_; | 1158 scoped_ptr<InMemoryURLIndex> url_index_; |
| 1156 }; | 1159 }; |
| 1157 | 1160 |
| 1158 void InMemoryURLIndexCacheTest::SetUp() { | 1161 void InMemoryURLIndexCacheTest::SetUp() { |
| 1159 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 1162 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
| 1163 HistoryClient history_client; |
| 1160 base::FilePath path(temp_dir_.path()); | 1164 base::FilePath path(temp_dir_.path()); |
| 1161 url_index_.reset( | 1165 url_index_.reset(new InMemoryURLIndex( |
| 1162 new InMemoryURLIndex(NULL, path, "en,ja,hi,zh")); | 1166 NULL, path, "en,ja,hi,zh", &history_client)); |
| 1163 } | 1167 } |
| 1164 | 1168 |
| 1165 void InMemoryURLIndexCacheTest::set_history_dir( | 1169 void InMemoryURLIndexCacheTest::set_history_dir( |
| 1166 const base::FilePath& dir_path) { | 1170 const base::FilePath& dir_path) { |
| 1167 return url_index_->set_history_dir(dir_path); | 1171 return url_index_->set_history_dir(dir_path); |
| 1168 } | 1172 } |
| 1169 | 1173 |
| 1170 bool InMemoryURLIndexCacheTest::GetCacheFilePath( | 1174 bool InMemoryURLIndexCacheTest::GetCacheFilePath( |
| 1171 base::FilePath* file_path) const { | 1175 base::FilePath* file_path) const { |
| 1172 DCHECK(file_path); | 1176 DCHECK(file_path); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1184 full_file_path.GetComponents(&actual_parts); | 1188 full_file_path.GetComponents(&actual_parts); |
| 1185 ASSERT_EQ(expected_parts.size(), actual_parts.size()); | 1189 ASSERT_EQ(expected_parts.size(), actual_parts.size()); |
| 1186 size_t count = expected_parts.size(); | 1190 size_t count = expected_parts.size(); |
| 1187 for (size_t i = 0; i < count; ++i) | 1191 for (size_t i = 0; i < count; ++i) |
| 1188 EXPECT_EQ(expected_parts[i], actual_parts[i]); | 1192 EXPECT_EQ(expected_parts[i], actual_parts[i]); |
| 1189 // Must clear the history_dir_ to satisfy the dtor's DCHECK. | 1193 // Must clear the history_dir_ to satisfy the dtor's DCHECK. |
| 1190 set_history_dir(base::FilePath()); | 1194 set_history_dir(base::FilePath()); |
| 1191 } | 1195 } |
| 1192 | 1196 |
| 1193 } // namespace history | 1197 } // namespace history |
| OLD | NEW |