| 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..02c99b65a273975704557e2c7f869b4b7a39b68c
|
| --- /dev/null
|
| +++ b/components/ntp_snippets/mock_content_suggestions_provider.cc
|
| @@ -0,0 +1,68 @@
|
| +// 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 {
|
| +
|
| +MockContentSuggestionsProvider::MockContentSuggestionsProvider(
|
| + Observer* observer,
|
| + const std::vector<Category>& provided_categories)
|
| + : ContentSuggestionsProvider(observer) {
|
| + SetProvidedCategories(provided_categories);
|
| +}
|
| +
|
| +MockContentSuggestionsProvider::~MockContentSuggestionsProvider() {}
|
| +
|
| +void MockContentSuggestionsProvider::SetProvidedCategories(
|
| + const std::vector<Category>& provided_categories) {
|
| + statuses_.clear();
|
| + provided_categories_ = provided_categories;
|
| + for (Category category : provided_categories) {
|
| + statuses_[category.id()] = CategoryStatus::AVAILABLE;
|
| + }
|
| +}
|
| +
|
| +CategoryStatus MockContentSuggestionsProvider::GetCategoryStatus(
|
| + Category category) {
|
| + return statuses_[category.id()];
|
| +}
|
| +
|
| +CategoryInfo MockContentSuggestionsProvider::GetCategoryInfo(
|
| + Category category) {
|
| + return CategoryInfo(base::ASCIIToUTF16("Section title"),
|
| + ContentSuggestionsCardLayout::FULL_CARD, true, false,
|
| + true, false,
|
| + base::ASCIIToUTF16("No suggestions message"));
|
| +}
|
| +
|
| +void MockContentSuggestionsProvider::FireSuggestionsChanged(
|
| + Category category,
|
| + std::vector<ContentSuggestion> suggestions) {
|
| + observer()->OnNewSuggestions(this, category, std::move(suggestions));
|
| +}
|
| +
|
| +void MockContentSuggestionsProvider::FireCategoryStatusChanged(
|
| + Category category,
|
| + CategoryStatus new_status) {
|
| + statuses_[category.id()] = new_status;
|
| + observer()->OnCategoryStatusChanged(this, category, new_status);
|
| +}
|
| +
|
| +void MockContentSuggestionsProvider::FireCategoryStatusChangedWithCurrentStatus(
|
| + Category category) {
|
| + observer()->OnCategoryStatusChanged(this, category, statuses_[category.id()]);
|
| +}
|
| +
|
| +void MockContentSuggestionsProvider::FireSuggestionInvalidated(
|
| + const ContentSuggestion::ID& suggestion_id) {
|
| + observer()->OnSuggestionInvalidated(this, suggestion_id);
|
| +}
|
| +
|
| +} // namespace ntp_snippets
|
|
|