tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mock_media_stream_interface.h (4566B)


      1 /*
      2 *  Copyright 2020 The WebRTC project authors. All Rights Reserved.
      3 *
      4 *  Use of this source code is governed by a BSD-style license
      5 *  that can be found in the LICENSE file in the root of the source
      6 *  tree. An additional intellectual property rights grant can be found
      7 *  in the file PATENTS.  All contributing project authors may
      8 *  be found in the AUTHORS file in the root of the source tree.
      9 */
     10 
     11 #ifndef API_TEST_MOCK_MEDIA_STREAM_INTERFACE_H_
     12 #define API_TEST_MOCK_MEDIA_STREAM_INTERFACE_H_
     13 
     14 #include <string>
     15 #include <type_traits>
     16 
     17 #include "api/audio_options.h"
     18 #include "api/media_stream_interface.h"
     19 #include "api/scoped_refptr.h"
     20 #include "rtc_base/ref_counted_object.h"
     21 #include "test/gmock.h"
     22 
     23 namespace webrtc {
     24 
     25 class MockAudioSource : public RefCountedObject<AudioSourceInterface> {
     26 public:
     27  static scoped_refptr<MockAudioSource> Create() {
     28    return scoped_refptr<MockAudioSource>(new MockAudioSource());
     29  }
     30 
     31  MOCK_METHOD(void,
     32              RegisterObserver,
     33              (ObserverInterface * observer),
     34              (override));
     35  MOCK_METHOD(void,
     36              UnregisterObserver,
     37              (ObserverInterface * observer),
     38              (override));
     39  MOCK_METHOD(SourceState, state, (), (const, override));
     40  MOCK_METHOD(bool, remote, (), (const, override));
     41  MOCK_METHOD(void, SetVolume, (double volume), (override));
     42  MOCK_METHOD(void,
     43              RegisterAudioObserver,
     44              (AudioObserver * observer),
     45              (override));
     46  MOCK_METHOD(void,
     47              UnregisterAudioObserver,
     48              (AudioObserver * observer),
     49              (override));
     50  MOCK_METHOD(void, AddSink, (AudioTrackSinkInterface * sink), (override));
     51  MOCK_METHOD(void, RemoveSink, (AudioTrackSinkInterface * sink), (override));
     52  MOCK_METHOD(const AudioOptions, options, (), (const, override));
     53 
     54 private:
     55  MockAudioSource() = default;
     56 };
     57 
     58 class MockAudioTrack : public RefCountedObject<AudioTrackInterface> {
     59 public:
     60  static scoped_refptr<MockAudioTrack> Create() {
     61    return scoped_refptr<MockAudioTrack>(new MockAudioTrack());
     62  }
     63 
     64  MOCK_METHOD(void,
     65              RegisterObserver,
     66              (ObserverInterface * observer),
     67              (override));
     68  MOCK_METHOD(void,
     69              UnregisterObserver,
     70              (ObserverInterface * observer),
     71              (override));
     72  MOCK_METHOD(std::string, kind, (), (const, override));
     73  MOCK_METHOD(std::string, id, (), (const, override));
     74  MOCK_METHOD(bool, enabled, (), (const, override));
     75  MOCK_METHOD(bool, set_enabled, (bool enable), (override));
     76  MOCK_METHOD(TrackState, state, (), (const, override));
     77  MOCK_METHOD(AudioSourceInterface*, GetSource, (), (const, override));
     78  MOCK_METHOD(void, AddSink, (AudioTrackSinkInterface * sink), (override));
     79  MOCK_METHOD(void, RemoveSink, (AudioTrackSinkInterface * sink), (override));
     80  MOCK_METHOD(bool, GetSignalLevel, (int* level), (override));
     81  MOCK_METHOD(scoped_refptr<AudioProcessorInterface>,
     82              GetAudioProcessor,
     83              (),
     84              (override));
     85 
     86 private:
     87  MockAudioTrack() = default;
     88 };
     89 
     90 class MockMediaStream : public MediaStreamInterface {
     91 public:
     92  MOCK_METHOD(std::string, id, (), (const, override));
     93  MOCK_METHOD(AudioTrackVector, GetAudioTracks, (), (override));
     94  MOCK_METHOD(VideoTrackVector, GetVideoTracks, (), (override));
     95  MOCK_METHOD(scoped_refptr<AudioTrackInterface>,
     96              FindAudioTrack,
     97              (const std::string& track_id),
     98              (override));
     99  MOCK_METHOD(scoped_refptr<VideoTrackInterface>,
    100              FindVideoTrack,
    101              (const std::string& track_id),
    102              (override));
    103  MOCK_METHOD(bool,
    104              AddTrack,
    105              (scoped_refptr<AudioTrackInterface> track),
    106              (override));
    107  MOCK_METHOD(bool,
    108              AddTrack,
    109              (scoped_refptr<VideoTrackInterface> track),
    110              (override));
    111  MOCK_METHOD(bool,
    112              RemoveTrack,
    113              (scoped_refptr<AudioTrackInterface> track),
    114              (override));
    115  MOCK_METHOD(bool,
    116              RemoveTrack,
    117              (scoped_refptr<VideoTrackInterface> track),
    118              (override));
    119  MOCK_METHOD(void,
    120              RegisterObserver,
    121              (ObserverInterface * observer),
    122              (override));
    123  MOCK_METHOD(void,
    124              UnregisterObserver,
    125              (ObserverInterface * observer),
    126              (override));
    127 };
    128 
    129 static_assert(!std::is_abstract_v<RefCountedObject<MockMediaStream>>, "");
    130 
    131 }  // namespace webrtc
    132 
    133 #endif  // API_TEST_MOCK_MEDIA_STREAM_INTERFACE_H_