fake_content_suggestions_provider_observer.cc 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/ntp_snippets/fake_content_suggestions_provider_observer.h"
  5. #include <utility>
  6. #include "testing/gmock/include/gmock/gmock.h"
  7. #include "testing/gtest/include/gtest/gtest.h"
  8. namespace ntp_snippets {
  9. using testing::Eq;
  10. using testing::Not;
  11. FakeContentSuggestionsProviderObserver::
  12. FakeContentSuggestionsProviderObserver() = default;
  13. FakeContentSuggestionsProviderObserver::
  14. ~FakeContentSuggestionsProviderObserver() = default;
  15. void FakeContentSuggestionsProviderObserver::OnNewSuggestions(
  16. ContentSuggestionsProvider* provider,
  17. Category category,
  18. std::vector<ContentSuggestion> suggestions) {
  19. suggestions_[category] = std::move(suggestions);
  20. }
  21. void FakeContentSuggestionsProviderObserver::OnCategoryStatusChanged(
  22. ContentSuggestionsProvider* provider,
  23. Category category,
  24. CategoryStatus new_status) {
  25. statuses_[category] = new_status;
  26. }
  27. void FakeContentSuggestionsProviderObserver::OnSuggestionInvalidated(
  28. ContentSuggestionsProvider* provider,
  29. const ContentSuggestion::ID& suggestion_id) {
  30. FAIL() << "not implemented.";
  31. }
  32. const std::map<Category, CategoryStatus, Category::CompareByID>&
  33. FakeContentSuggestionsProviderObserver::statuses() const {
  34. return statuses_;
  35. }
  36. CategoryStatus FakeContentSuggestionsProviderObserver::StatusForCategory(
  37. Category category) const {
  38. auto it = statuses_.find(category);
  39. EXPECT_THAT(it, Not(Eq(statuses_.end())));
  40. return it->second;
  41. }
  42. const std::vector<ContentSuggestion>&
  43. FakeContentSuggestionsProviderObserver::SuggestionsForCategory(
  44. Category category) {
  45. return suggestions_[category];
  46. }
  47. } // namespace ntp_snippets