| Index: webrtc/api/mediaconstraintsinterface_unittest.cc
|
| diff --git a/webrtc/api/mediaconstraintsinterface_unittest.cc b/webrtc/api/mediaconstraintsinterface_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..07338c15e823d839142dc38186c50d0c1523c555
|
| --- /dev/null
|
| +++ b/webrtc/api/mediaconstraintsinterface_unittest.cc
|
| @@ -0,0 +1,62 @@
|
| +/*
|
| + * Copyright 2016 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.
|
| + */
|
| +
|
| +#include "webrtc/api/mediaconstraintsinterface.h"
|
| +
|
| +#include "webrtc/api/test/fakeconstraints.h"
|
| +#include "webrtc/base/gunit.h"
|
| +
|
| +namespace webrtc {
|
| +
|
| +namespace {
|
| +
|
| +bool Matches(const PeerConnectionInterface::RTCConfiguration& a,
|
| + const PeerConnectionInterface::RTCConfiguration& b) {
|
| + return a.audio_jitter_buffer_max_packets ==
|
| + b.audio_jitter_buffer_max_packets &&
|
| + a.disable_prerenderer_smoothing == b.disable_prerenderer_smoothing;
|
| +}
|
| +
|
| +TEST(MediaConstraintsInterface, CopyConstraintsIntoRtcConfiguration) {
|
| + FakeConstraints constraints;
|
| + PeerConnectionInterface::RTCConfiguration old_configuration;
|
| + PeerConnectionInterface::RTCConfiguration configuration;
|
| +
|
| + CopyConstraintsIntoRtcConfiguration(&constraints, &configuration);
|
| + EXPECT_TRUE(Matches(old_configuration, configuration));
|
| +
|
| + constraints.SetMandatory(MediaConstraintsInterface::kEnableIPv6, "true");
|
| + CopyConstraintsIntoRtcConfiguration(&constraints, &configuration);
|
| + EXPECT_FALSE(configuration.disable_ipv6);
|
| + constraints.SetMandatory(MediaConstraintsInterface::kEnableIPv6, "false");
|
| + CopyConstraintsIntoRtcConfiguration(&constraints, &configuration);
|
| + EXPECT_TRUE(configuration.disable_ipv6);
|
| +
|
| + constraints.SetMandatory(MediaConstraintsInterface::kScreencastMinBitrate,
|
| + 27);
|
| + CopyConstraintsIntoRtcConfiguration(&constraints, &configuration);
|
| + EXPECT_TRUE(configuration.screencast_min_bitrate);
|
| + EXPECT_EQ(27, *(configuration.screencast_min_bitrate));
|
| +
|
| + // An empty set of constraints will not overwrite
|
| + // values that are already present.
|
| + constraints = FakeConstraints();
|
| + configuration = old_configuration;
|
| + configuration.enable_dtls_srtp = rtc::Optional<bool>(true);
|
| + configuration.audio_jitter_buffer_max_packets = 34;
|
| + CopyConstraintsIntoRtcConfiguration(&constraints, &configuration);
|
| + EXPECT_EQ(34, configuration.audio_jitter_buffer_max_packets);
|
| + ASSERT_TRUE(configuration.enable_dtls_srtp);
|
| + EXPECT_TRUE(*(configuration.enable_dtls_srtp));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +} // namespace webrtc
|
|
|