| // Copyright 2017 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_TEST_MEDIA_CLIENT_H_ |
| #define ASH_TEST_MEDIA_CLIENT_H_ |
| |
| #include "ash/public/cpp/media_client.h" |
| |
| namespace ash { |
| |
| // Implement MediaClient mojo interface to simulate chrome behavior in tests. |
| // This breaks the ash/chrome dependency to allow testing ash code in isolation. |
| class TestMediaClient : public MediaClient { |
| public: |
| TestMediaClient(); |
| |
| TestMediaClient(const TestMediaClient&) = delete; |
| TestMediaClient& operator=(const TestMediaClient&) = delete; |
| |
| ~TestMediaClient() override; |
| |
| // MediaClient: |
| void HandleMediaNextTrack() override; |
| void HandleMediaPlayPause() override; |
| void HandleMediaPlay() override; |
| void HandleMediaPause() override; |
| void HandleMediaStop() override; |
| void HandleMediaPrevTrack() override; |
| void HandleMediaSeekBackward() override; |
| void HandleMediaSeekForward() override; |
| void RequestCaptureState() override; |
| void SuspendMediaSessions() override; |
| |
| int handle_media_next_track_count() const { |
| return handle_media_next_track_count_; |
| } |
| int handle_media_play_pause_count() const { |
| return handle_media_play_pause_count_; |
| } |
| int handle_media_play_count() const { return handle_media_play_count_; } |
| int handle_media_pause_count() const { return handle_media_pause_count_; } |
| int handle_media_stop_count() const { return handle_media_pause_count_; } |
| int handle_media_prev_track_count() const { |
| return handle_media_prev_track_count_; |
| } |
| int handle_media_seek_backward_count() const { |
| return handle_media_seek_backward_count_; |
| } |
| int handle_media_seek_forward_count() const { |
| return handle_media_seek_forward_count_; |
| } |
| bool media_sessions_suspended() const { return media_sessions_suspended_; } |
| |
| private: |
| int handle_media_next_track_count_ = 0; |
| int handle_media_play_pause_count_ = 0; |
| int handle_media_play_count_ = 0; |
| int handle_media_pause_count_ = 0; |
| int handle_media_stop_count_ = 0; |
| int handle_media_prev_track_count_ = 0; |
| int handle_media_seek_backward_count_ = 0; |
| int handle_media_seek_forward_count_ = 0; |
| bool media_sessions_suspended_ = false; |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_TEST_MEDIA_CLIENT_H_ |