blob: c958094cf26b6d0bbb189b69a75f8ef88432d881 [file] [log] [blame]
// Copyright 2015 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.
#ifndef COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_
#define COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/macros.h"
#include "components/omnibox/browser/autocomplete_provider_client.h"
#include "components/omnibox/browser/autocomplete_scheme_classifier.h"
#include "components/omnibox/browser/document_suggestions_service.h"
#include "components/omnibox/browser/omnibox_pedal_provider.h"
#include "components/omnibox/browser/remote_suggestions_service.h"
#include "components/search_engines/template_url_service.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
struct AutocompleteMatch;
class MockAutocompleteProviderClient
: public testing::NiceMock<AutocompleteProviderClient> {
public:
MockAutocompleteProviderClient();
~MockAutocompleteProviderClient();
// AutocompleteProviderClient:
MOCK_METHOD0(GetPrefs, PrefService*());
MOCK_CONST_METHOD0(GetSchemeClassifier,
const AutocompleteSchemeClassifier&());
MOCK_METHOD0(GetAutocompleteClassifier, AutocompleteClassifier*());
MOCK_METHOD0(GetHistoryService, history::HistoryService*());
scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory()
override {
return shared_factory_;
}
scoped_refptr<history::TopSites> GetTopSites() override { return nullptr; }
MOCK_METHOD0(GetBookmarkModel, bookmarks::BookmarkModel*());
MOCK_METHOD0(GetInMemoryDatabase, history::URLDatabase*());
MOCK_METHOD0(GetInMemoryURLIndex, InMemoryURLIndex*());
TemplateURLService* GetTemplateURLService() override {
return template_url_service_.get();
}
const TemplateURLService* GetTemplateURLService() const override {
return template_url_service_.get();
}
RemoteSuggestionsService* GetRemoteSuggestionsService(
bool create_if_necessary) const override {
return remote_suggestions_service_.get();
}
DocumentSuggestionsService* GetDocumentSuggestionsService(
bool create_if_necessary) const override {
return document_suggestions_service_.get();
}
OmniboxPedalProvider* GetPedalProvider() const override {
return pedal_provider_.get();
}
// Can't mock scoped_refptr :\.
scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override {
return nullptr;
}
scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override {
return nullptr;
}
std::unique_ptr<KeywordExtensionsDelegate> GetKeywordExtensionsDelegate(
KeywordProvider* keyword_provider) override {
return nullptr;
}
component_updater::ComponentUpdateService* GetComponentUpdateService()
override {
return nullptr;
}
MOCK_CONST_METHOD0(GetAcceptLanguages, std::string());
MOCK_CONST_METHOD0(GetEmbedderRepresentationOfAboutScheme, std::string());
MOCK_METHOD0(GetBuiltinURLs, std::vector<base::string16>());
MOCK_METHOD0(GetBuiltinsToProvideAsUserTypes, std::vector<base::string16>());
MOCK_CONST_METHOD0(IsOffTheRecord, bool());
MOCK_CONST_METHOD0(SearchSuggestEnabled, bool());
MOCK_CONST_METHOD0(IsPersonalizedUrlDataCollectionActive, bool());
MOCK_CONST_METHOD0(IsAuthenticated, bool());
MOCK_CONST_METHOD0(IsSyncActive, bool());
MOCK_METHOD6(
Classify,
void(const base::string16& text,
bool prefer_keyword,
bool allow_exact_keyword_match,
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url));
MOCK_METHOD2(DeleteMatchingURLsForKeywordFromHistory,
void(history::KeywordID keyword_id, const base::string16& term));
MOCK_METHOD1(PrefetchImage, void(const GURL& url));
bool IsTabOpenWithURL(const GURL& url,
const AutocompleteInput* input) override {
return false;
}
void set_template_url_service(std::unique_ptr<TemplateURLService> service) {
template_url_service_ = std::move(service);
}
network::TestURLLoaderFactory* test_url_loader_factory() {
return &test_url_loader_factory_;
}
bool IsBrowserUpdateAvailable() const override {
return browser_update_available_;
}
void set_browser_update_available(bool browser_update_available) {
browser_update_available_ = browser_update_available;
}
private:
network::TestURLLoaderFactory test_url_loader_factory_;
scoped_refptr<network::SharedURLLoaderFactory> shared_factory_;
std::unique_ptr<RemoteSuggestionsService> remote_suggestions_service_;
std::unique_ptr<DocumentSuggestionsService> document_suggestions_service_;
std::unique_ptr<OmniboxPedalProvider> pedal_provider_;
std::unique_ptr<TemplateURLService> template_url_service_;
bool browser_update_available_;
DISALLOW_COPY_AND_ASSIGN(MockAutocompleteProviderClient);
};
#endif // COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_