blob: 7258de719917a40510cedee3944c1cd232b3f2fd [file] [log] [blame]
// Copyright (c) 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <memory>
#include "base/strings/utf_string_conversions.h"
#include "base/test/task_environment.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/test/test_bookmark_client.h"
#include "components/history/core/test/history_service_test_util.h"
#include "components/omnibox/browser/fake_autocomplete_provider_client.h"
#include "components/omnibox/browser/history_provider.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
class TestHistoryProvider : public HistoryProvider {
public:
explicit TestHistoryProvider(AutocompleteProviderClient* client)
: HistoryProvider(AutocompleteProvider::TYPE_HISTORY_QUICK, client) {}
TestHistoryProvider(const TestHistoryProvider&) = delete;
TestHistoryProvider& operator=(const TestHistoryProvider&) = delete;
void Start(const AutocompleteInput& input, bool minimal_changes) override;
private:
~TestHistoryProvider() override;
};
void TestHistoryProvider::Start(const AutocompleteInput& input,
bool minimal_changes) {}
TestHistoryProvider::~TestHistoryProvider() {}
class HistoryProviderTest : public testing::Test {
public:
HistoryProviderTest() = default;
HistoryProviderTest(const HistoryProviderTest&) = delete;
HistoryProviderTest& operator=(const HistoryProviderTest&) = delete;
protected:
void SetUp() override;
void TearDown() override;
FakeAutocompleteProviderClient* client() { return &(*client_); }
HistoryProvider* provider() { return &(*provider_); }
private:
base::ScopedTempDir history_dir_;
base::test::TaskEnvironment task_environment_;
std::unique_ptr<FakeAutocompleteProviderClient> client_;
scoped_refptr<TestHistoryProvider> provider_;
};
void HistoryProviderTest::SetUp() {
client_ = std::make_unique<FakeAutocompleteProviderClient>();
CHECK(history_dir_.CreateUniqueTempDir());
client_->set_history_service(
history::CreateHistoryService(history_dir_.GetPath(), true));
client_->set_bookmark_model(bookmarks::TestBookmarkClient::CreateModel());
client_->set_in_memory_url_index(std::make_unique<InMemoryURLIndex>(
client_->GetBookmarkModel(), client_->GetHistoryService(), nullptr,
history_dir_.GetPath(), SchemeSet()));
client_->GetInMemoryURLIndex()->Init();
provider_ = new TestHistoryProvider(client_.get());
}
void HistoryProviderTest::TearDown() {
provider_ = nullptr;
client_.reset();
task_environment_.RunUntilIdle();
}
// Placeholder test. Remove after adding a substantive test.
TEST_F(HistoryProviderTest, CreationTest) {
EXPECT_NE(client(), nullptr);
}
} // namespace