Chromium Code Reviews| Index: components/ntp_snippets/mock_content_suggestions_provider_observer.h |
| diff --git a/components/ntp_snippets/mock_content_suggestions_provider_observer.h b/components/ntp_snippets/mock_content_suggestions_provider_observer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d92b9b3a7a3923c81130d3910a6c8ec749f13ff6 |
| --- /dev/null |
| +++ b/components/ntp_snippets/mock_content_suggestions_provider_observer.h |
| @@ -0,0 +1,44 @@ |
| +// Copyright 2016 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_NTP_SNIPPETS_MOCK_CONTENT_SUGGESTIONS_PROVIDER_OBSERVER_H_ |
| +#define COMPONENTS_NTP_SNIPPETS_MOCK_CONTENT_SUGGESTIONS_PROVIDER_OBSERVER_H_ |
| + |
| +#include <list> |
| +#include <vector> |
| + |
| +#include "components/ntp_snippets/content_suggestions_provider.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| + |
| +namespace ntp_snippets { |
| + |
| +class MockContentSuggestionsProviderObserver |
| + : public ContentSuggestionsProvider::Observer { |
| + public: |
| + MockContentSuggestionsProviderObserver(); |
| + ~MockContentSuggestionsProviderObserver(); |
| + |
| + // Call of this function is redirected to the mock function OnNewSuggestions |
| + // which takes const list of suggestions. We do this trick so that the |
| + // MOCK_METHOD behaves the same way in tests as the actual method and we can |
| + // keep this gMock issue limited to the mock class. MOCK_METHOD cannot be |
| + // applied here directly, since gMock does not support movable-only types |
| + // such as ContentSuggestion. |
| + void OnNewSuggestions(ContentSuggestionsProvider* provider, |
| + Category category, |
| + std::vector<ContentSuggestion> suggestions) override; |
| + |
| + MOCK_METHOD3(OnNewSuggestions, |
| + void(ContentSuggestionsProvider* provider, |
| + Category category, |
| + const std::list<ContentSuggestion>& suggestions)); |
|
Bernhard Bauer
2016/08/12 12:55:19
If you use a vector here, could you just directly
vitaliii
2016/08/12 13:32:46
Let's consider all possible cases:
- No |void OnN
Bernhard Bauer
2016/08/12 13:49:06
Sorry, what I meant was calling the mock method fr
vitaliii
2016/08/16 07:31:21
Indeed, I tried this before. Tim's argument was th
|
| + MOCK_METHOD3(OnCategoryStatusChanged, |
| + void(ContentSuggestionsProvider* provider, |
| + Category category, |
| + CategoryStatus new_status)); |
| +}; |
| + |
| +} // namespace ntp_snippets |
| + |
| +#endif // COMPONENTS_NTP_SNIPPETS_MOCK_CONTENT_SUGGESTIONS_PROVIDER_OBSERVER_H_ |