From 8c6d88ff5c5d8d89b93e74935aa354d58ef3799f Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Wed, 11 May 2022 18:33:28 +0200 Subject: [PATCH] api: Add MockDtmfSender Similar mocks are used internally, there should only be one in WebRTC. Bug: None Change-Id: Ic5163ae0c554c602344a0d25d17c3f0d46fc2e95 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261955 Auto-Submit: Florent Castelli Reviewed-by: Niels Moller Commit-Queue: Florent Castelli Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#36864} --- api/BUILD.gn | 12 +++++++ api/test/compile_all_headers.cc | 1 + api/test/mock_dtmf_sender.h | 56 +++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 api/test/mock_dtmf_sender.h diff --git a/api/BUILD.gn b/api/BUILD.gn index 1b47ee8954..569148065e 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -919,6 +919,17 @@ if (rtc_include_tests) { ] } + rtc_source_set("mock_dtmf_sender") { + visibility = [ "*" ] + testonly = true + sources = [ "test/mock_dtmf_sender.h" ] + + deps = [ + ":libjingle_peerconnection_api", + "../test:test_support", + ] + } + rtc_source_set("mock_fec_controller_override") { visibility = [ "*" ] testonly = true @@ -1229,6 +1240,7 @@ if (rtc_include_tests) { ":mock_audio_mixer", ":mock_audio_sink", ":mock_data_channel", + ":mock_dtmf_sender", ":mock_frame_decryptor", ":mock_frame_encryptor", ":mock_media_stream_interface", diff --git a/api/test/compile_all_headers.cc b/api/test/compile_all_headers.cc index 9275eb0791..b80c565843 100644 --- a/api/test/compile_all_headers.cc +++ b/api/test/compile_all_headers.cc @@ -34,6 +34,7 @@ #include "api/test/mock_audio_mixer.h" #include "api/test/mock_audio_sink.h" #include "api/test/mock_data_channel.h" +#include "api/test/mock_dtmf_sender.h" #include "api/test/mock_frame_decryptor.h" #include "api/test/mock_frame_encryptor.h" #include "api/test/mock_media_stream_interface.h" diff --git a/api/test/mock_dtmf_sender.h b/api/test/mock_dtmf_sender.h new file mode 100644 index 0000000000..9029195025 --- /dev/null +++ b/api/test/mock_dtmf_sender.h @@ -0,0 +1,56 @@ +/* + * Copyright 2022 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_TEST_MOCK_DTMF_SENDER_H_ +#define API_TEST_MOCK_DTMF_SENDER_H_ + +#include + +#include "api/dtmf_sender_interface.h" +#include "test/gmock.h" + +namespace webrtc { + +class MockDtmfSenderObserver : public DtmfSenderObserverInterface { + public: + MOCK_METHOD(void, + OnToneChange, + (const std::string&, const std::string&), + (override)); + MOCK_METHOD(void, OnToneChange, (const std::string&), (override)); +}; + +static_assert(!std::is_abstract_v, ""); + +class MockDtmfSender : public DtmfSenderInterface { + public: + static rtc::scoped_refptr Create() { + return rtc::make_ref_counted(); + } + + MOCK_METHOD(void, + RegisterObserver, + (DtmfSenderObserverInterface * observer), + (override)); + MOCK_METHOD(void, UnregisterObserver, (), (override)); + MOCK_METHOD(bool, CanInsertDtmf, (), (override)); + MOCK_METHOD(std::string, tones, (), (const override)); + MOCK_METHOD(int, duration, (), (const override)); + MOCK_METHOD(int, inter_tone_gap, (), (const override)); + + protected: + MockDtmfSender() = default; +}; + +static_assert(!std::is_abstract_v>, ""); + +} // namespace webrtc + +#endif // API_TEST_MOCK_DTMF_SENDER_H_