| Index: components/ntp_snippets/mock_content_suggestions_provider.cc
|
| diff --git a/components/ntp_snippets/mock_content_suggestions_provider.cc b/components/ntp_snippets/mock_content_suggestions_provider.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d9e33c473fdb73aeba664383bbcf1a44d4a416fa
|
| --- /dev/null
|
| +++ b/components/ntp_snippets/mock_content_suggestions_provider.cc
|
| @@ -0,0 +1,64 @@
|
| +// Copyright 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 "components/ntp_snippets/mock_content_suggestions_provider.h"
|
| +
|
| +#include <utility>
|
| +
|
| +#include "base/bind.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| +
|
| +namespace ntp_snippets {
|
| +
|
| +MockProvider::MockProvider(Observer* observer,
|
| + const std::vector<Category>& provided_categories)
|
| + : ContentSuggestionsProvider(observer) {
|
| + SetProvidedCategories(provided_categories);
|
| +}
|
| +
|
| +MockProvider::~MockProvider() {}
|
| +
|
| +void MockProvider::SetProvidedCategories(
|
| + const std::vector<Category>& provided_categories) {
|
| + statuses_.clear();
|
| + provided_categories_ = provided_categories;
|
| + for (Category category : provided_categories) {
|
| + statuses_[category.id()] = CategoryStatus::AVAILABLE;
|
| + }
|
| +}
|
| +
|
| +CategoryStatus MockProvider::GetCategoryStatus(Category category) {
|
| + return statuses_[category.id()];
|
| +}
|
| +
|
| +CategoryInfo MockProvider::GetCategoryInfo(Category category) {
|
| + return CategoryInfo(base::ASCIIToUTF16("Section title"),
|
| + ContentSuggestionsCardLayout::FULL_CARD, true, false,
|
| + true, false,
|
| + base::ASCIIToUTF16("No suggestions message"));
|
| +}
|
| +
|
| +void MockProvider::FireSuggestionsChanged(
|
| + Category category,
|
| + std::vector<ContentSuggestion> suggestions) {
|
| + observer()->OnNewSuggestions(this, category, std::move(suggestions));
|
| +}
|
| +
|
| +void MockProvider::FireCategoryStatusChanged(Category category,
|
| + CategoryStatus new_status) {
|
| + statuses_[category.id()] = new_status;
|
| + observer()->OnCategoryStatusChanged(this, category, new_status);
|
| +}
|
| +
|
| +void MockProvider::FireCategoryStatusChangedWithCurrentStatus(
|
| + Category category) {
|
| + observer()->OnCategoryStatusChanged(this, category, statuses_[category.id()]);
|
| +}
|
| +
|
| +void MockProvider::FireSuggestionInvalidated(
|
| + const ContentSuggestion::ID& suggestion_id) {
|
| + observer()->OnSuggestionInvalidated(this, suggestion_id);
|
| +}
|
| +
|
| +} // namespace ntp_snippets
|
|
|