aboutsummaryrefslogtreecommitdiff
path: root/pc/rtp_transceiver_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pc/rtp_transceiver_unittest.cc')
-rw-r--r--pc/rtp_transceiver_unittest.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/pc/rtp_transceiver_unittest.cc b/pc/rtp_transceiver_unittest.cc
index 885a5a10c8..5e345739f1 100644
--- a/pc/rtp_transceiver_unittest.cc
+++ b/pc/rtp_transceiver_unittest.cc
@@ -12,10 +12,19 @@
#include "pc/rtp_transceiver.h"
+#include <memory>
+
+#include "media/base/fake_media_engine.h"
#include "pc/test/mock_channel_interface.h"
+#include "pc/test/mock_rtp_receiver_internal.h"
+#include "pc/test/mock_rtp_sender_internal.h"
#include "test/gmock.h"
#include "test/gtest.h"
+using ::testing::ElementsAre;
+using ::testing::Eq;
+using ::testing::Field;
+using ::testing::Not;
using ::testing::Return;
using ::testing::ReturnRef;
@@ -69,4 +78,27 @@ TEST(RtpTransceiverTest, CanUnsetChannelOnStoppedTransceiver) {
EXPECT_EQ(nullptr, transceiver.channel());
}
+TEST(RtpTransceiverTest,
+ InitsWithChannelManagerRtpHeaderExtensionCapabilities) {
+ cricket::ChannelManager channel_manager(
+ std::make_unique<cricket::FakeMediaEngine>(),
+ std::make_unique<cricket::FakeDataEngine>(), rtc::Thread::Current(),
+ rtc::Thread::Current());
+ std::vector<RtpHeaderExtensionCapability> extensions({
+ RtpHeaderExtensionCapability("uri1", 1,
+ RtpTransceiverDirection::kSendRecv),
+ RtpHeaderExtensionCapability("uri2", 2,
+ RtpTransceiverDirection::kRecvOnly),
+ });
+ RtpTransceiver transceiver(
+ RtpSenderProxyWithInternal<RtpSenderInternal>::Create(
+ rtc::Thread::Current(),
+ new rtc::RefCountedObject<MockRtpSenderInternal>()),
+ RtpReceiverProxyWithInternal<RtpReceiverInternal>::Create(
+ rtc::Thread::Current(),
+ new rtc::RefCountedObject<MockRtpReceiverInternal>()),
+ &channel_manager, extensions);
+ EXPECT_EQ(transceiver.HeaderExtensionsToOffer(), extensions);
+}
+
} // namespace webrtc