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_ |