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 5 #ifndef ASH_TEST_MEDIA_CLIENT_H_ 6 #define ASH_TEST_MEDIA_CLIENT_H_ 7 8 #include "ash/public/cpp/media_client.h" 9 #include "base/macros.h" 10 11 namespace ash { 12 13 // Implement MediaClient mojo interface to simulate chrome behavior in tests. 14 // This breaks the ash/chrome dependency to allow testing ash code in isolation. 15 class TestMediaClient : public MediaClient { 16 public: 17 TestMediaClient(); 18 ~TestMediaClient() override; 19 20 // MediaClient: 21 void HandleMediaNextTrack() override; 22 void HandleMediaPlayPause() override; 23 void HandleMediaPlay() override; 24 void HandleMediaPause() override; 25 void HandleMediaStop() override; 26 void HandleMediaPrevTrack() override; 27 void HandleMediaSeekBackward() override; 28 void HandleMediaSeekForward() override; 29 void RequestCaptureState() override; 30 void SuspendMediaSessions() override; 31 handle_media_next_track_count()32 int handle_media_next_track_count() const { 33 return handle_media_next_track_count_; 34 } handle_media_play_pause_count()35 int handle_media_play_pause_count() const { 36 return handle_media_play_pause_count_; 37 } handle_media_play_count()38 int handle_media_play_count() const { return handle_media_play_count_; } handle_media_pause_count()39 int handle_media_pause_count() const { return handle_media_pause_count_; } handle_media_stop_count()40 int handle_media_stop_count() const { return handle_media_pause_count_; } handle_media_prev_track_count()41 int handle_media_prev_track_count() const { 42 return handle_media_prev_track_count_; 43 } handle_media_seek_backward_count()44 int handle_media_seek_backward_count() const { 45 return handle_media_seek_backward_count_; 46 } handle_media_seek_forward_count()47 int handle_media_seek_forward_count() const { 48 return handle_media_seek_forward_count_; 49 } media_sessions_suspended()50 bool media_sessions_suspended() const { return media_sessions_suspended_; } 51 52 private: 53 int handle_media_next_track_count_ = 0; 54 int handle_media_play_pause_count_ = 0; 55 int handle_media_play_count_ = 0; 56 int handle_media_pause_count_ = 0; 57 int handle_media_stop_count_ = 0; 58 int handle_media_prev_track_count_ = 0; 59 int handle_media_seek_backward_count_ = 0; 60 int handle_media_seek_forward_count_ = 0; 61 bool media_sessions_suspended_ = false; 62 63 DISALLOW_COPY_AND_ASSIGN(TestMediaClient); 64 }; 65 66 } // namespace ash 67 68 #endif // ASH_TEST_MEDIA_CLIENT_H_ 69