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

Unified Diff: components/omnibox/browser/history_quick_provider_unittest.cc

Issue 1646893003: Moves shared history test helpers into util classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@history
Patch Set: ASAN. Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/omnibox/browser/BUILD.gn ('k') | components/omnibox/browser/history_url_provider_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/omnibox/browser/history_quick_provider_unittest.cc
diff --git a/components/omnibox/browser/history_quick_provider_unittest.cc b/components/omnibox/browser/history_quick_provider_unittest.cc
index cec085b80dbabdf1ade095bfb4c30892c4926562..8531c0e566d8005c93a0616558de088d4e48b073 100644
--- a/components/omnibox/browser/history_quick_provider_unittest.cc
+++ b/components/omnibox/browser/history_quick_provider_unittest.cc
@@ -26,17 +26,16 @@
#include "components/bookmarks/test/test_bookmark_client.h"
#include "components/history/core/browser/history_backend.h"
#include "components/history/core/browser/history_database.h"
-#include "components/history/core/browser/history_database_params.h"
#include "components/history/core/browser/history_service.h"
#include "components/history/core/browser/history_service_observer.h"
#include "components/history/core/browser/url_database.h"
-#include "components/history/core/test/test_history_database.h"
+#include "components/history/core/test/history_service_test_util.h"
#include "components/metrics/proto/omnibox_event.pb.h"
#include "components/omnibox/browser/autocomplete_match.h"
#include "components/omnibox/browser/autocomplete_result.h"
-#include "components/omnibox/browser/history_index_restore_observer.h"
#include "components/omnibox/browser/history_url_provider.h"
#include "components/omnibox/browser/in_memory_url_index.h"
+#include "components/omnibox/browser/in_memory_url_index_test_util.h"
#include "components/omnibox/browser/mock_autocomplete_provider_client.h"
#include "components/omnibox/browser/test_scheme_classifier.h"
#include "components/omnibox/browser/url_index_private_data.h"
@@ -179,31 +178,21 @@ class GetURLTask : public history::HistoryDBTask {
DISALLOW_COPY_AND_ASSIGN(GetURLTask);
};
-class QuitTask : public history::HistoryDBTask {
- public:
- QuitTask() {}
-
- bool RunOnDBThread(history::HistoryBackend* backend,
- history::HistoryDatabase* db) override {
- return true;
- }
-
- void DoneRunOnMainThread() override {
- base::MessageLoop::current()->QuitWhenIdle();
- }
-
- private:
- ~QuitTask() override {}
-
- DISALLOW_COPY_AND_ASSIGN(QuitTask);
-};
-
class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient {
public:
- FakeAutocompleteProviderClient() {
+ FakeAutocompleteProviderClient() : pool_owner_(3, "Background Pool") {
bookmark_model_ = bookmarks::TestBookmarkClient::CreateModel();
set_template_url_service(
make_scoped_ptr(new TemplateURLService(nullptr, 0)));
+ if (history_dir_.CreateUniqueTempDir()) {
+ history_service_ = history::CreateHistoryService(
+ history_dir_.path(), GetAcceptLanguages(), true);
+ }
+
+ in_memory_url_index_.reset(new InMemoryURLIndex(
+ bookmark_model_.get(), history_service_.get(), pool_owner_.pool().get(),
+ history_dir_.path(), GetAcceptLanguages(), SchemeSet()));
+ in_memory_url_index_->Init();
}
const AutocompleteSchemeClassifier& GetSchemeClassifier() const override {
@@ -215,7 +204,7 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient {
}
history::HistoryService* GetHistoryService() override {
- return &history_service_;
+ return history_service_.get();
}
bookmarks::BookmarkModel* GetBookmarkModel() override {
@@ -233,11 +222,13 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient {
}
private:
+ base::SequencedWorkerPoolOwner pool_owner_;
+ base::ScopedTempDir history_dir_;
scoped_ptr<bookmarks::BookmarkModel> bookmark_model_;
TestSchemeClassifier scheme_classifier_;
SearchTermsData search_terms_data_;
scoped_ptr<InMemoryURLIndex> in_memory_url_index_;
- history::HistoryService history_service_;
+ scoped_ptr<history::HistoryService> history_service_;
DISALLOW_COPY_AND_ASSIGN(FakeAutocompleteProviderClient);
};
@@ -246,7 +237,7 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient {
class HistoryQuickProviderTest : public testing::Test {
public:
- HistoryQuickProviderTest() : pool_owner_(3, "Background Pool") {}
+ HistoryQuickProviderTest() {}
protected:
class SetShouldContain : public std::unary_function<const std::string&,
@@ -302,15 +293,7 @@ class HistoryQuickProviderTest : public testing::Test {
// the result.
bool GetURLProxy(const GURL& url);
- // Helper functions to initialize the HistoryService.
- bool InitializeHistoryService();
- void CreateInMemoryURLIndex();
- void BlockUntilHistoryProcessesPendingRequests();
- void BlockUntilHistoryIndexIsRefreshed();
-
base::MessageLoop message_loop_;
- base::SequencedWorkerPoolOwner pool_owner_;
- base::ScopedTempDir history_dir_;
scoped_ptr<FakeAutocompleteProviderClient> client_;
ACMatches ac_matches_; // The resulting matches after running RunTest.
@@ -320,16 +303,20 @@ class HistoryQuickProviderTest : public testing::Test {
void HistoryQuickProviderTest::SetUp() {
client_.reset(new FakeAutocompleteProviderClient());
- ASSERT_TRUE(InitializeHistoryService());
+ ASSERT_TRUE(client_->GetHistoryService());
FillData();
- // |FillData()| must be called before |CreateInMemoryURLIndex()|. This will
+ // |FillData()| must be called before |RebuildFromHistory()|. This will
// ensure that the index is properly populated with data from the database.
- CreateInMemoryURLIndex();
- BlockUntilHistoryIndexIsRefreshed();
+ InMemoryURLIndex* url_index = client_->GetInMemoryURLIndex();
+ url_index->RebuildFromHistory(
+ client_->GetHistoryService()->history_backend_->db());
+ BlockUntilInMemoryURLIndexIsRefreshed(url_index);
+
// History index refresh creates rebuilt tasks to run on history thread.
// Block here to make sure that all of them are complete.
- BlockUntilHistoryProcessesPendingRequests();
+ history::BlockUntilHistoryProcessesPendingRequests(
+ client_->GetHistoryService());
provider_ = new HistoryQuickProvider(client_.get());
}
@@ -496,46 +483,6 @@ bool HistoryQuickProviderTest::GetURLProxy(const GURL& url) {
return result;
}
-bool HistoryQuickProviderTest::InitializeHistoryService() {
- if (!history_dir_.CreateUniqueTempDir() ||
- !client_->GetHistoryService()->Init(
- false, client_->GetAcceptLanguages(),
- history::TestHistoryDatabaseParamsForPath(history_dir_.path())))
- return false;
-
- BlockUntilHistoryProcessesPendingRequests();
- return true;
-}
-
-void HistoryQuickProviderTest::CreateInMemoryURLIndex() {
- scoped_ptr<InMemoryURLIndex> in_memory_url_index(new InMemoryURLIndex(
- client_->GetBookmarkModel(), client_->GetHistoryService(),
- pool_owner_.pool().get(), history_dir_.path(),
- client_->GetAcceptLanguages(), SchemeSet()));
- in_memory_url_index->Init();
- in_memory_url_index->RebuildFromHistory(history_backend()->db());
- client_->set_in_memory_url_index(std::move(in_memory_url_index));
-}
-
-void HistoryQuickProviderTest::BlockUntilHistoryProcessesPendingRequests() {
- base::CancelableTaskTracker tracker;
- client_->GetHistoryService()->ScheduleDBTask(
- scoped_ptr<history::HistoryDBTask>(new QuitTask()), &tracker);
- base::MessageLoop::current()->Run();
-}
-
-void HistoryQuickProviderTest::BlockUntilHistoryIndexIsRefreshed() {
- InMemoryURLIndex* index = client_->GetInMemoryURLIndex();
- if (!index || index->restored())
- return;
- base::RunLoop run_loop;
- HistoryIndexRestoreObserver observer(run_loop.QuitClosure());
- index->set_restore_cache_observer(&observer);
- run_loop.Run();
- index->set_restore_cache_observer(nullptr);
- DCHECK(index->restored());
-}
-
TEST_F(HistoryQuickProviderTest, SimpleSingleMatch) {
std::vector<std::string> expected_urls;
expected_urls.push_back("http://slashdot.org/favorite_page.html");
« no previous file with comments | « components/omnibox/browser/BUILD.gn ('k') | components/omnibox/browser/history_url_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698