1 /*
2 * Copyright 2021 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 #include "rtc_base/experiments/bandwidth_quality_scaler_settings.h"
12
13 #include "test/field_trial.h"
14 #include "test/gtest.h"
15
16 namespace webrtc {
17 namespace {
18
TEST(BandwidthQualityScalerSettingsTest,ValuesNotSetByDefault)19 TEST(BandwidthQualityScalerSettingsTest, ValuesNotSetByDefault) {
20 const auto settings = BandwidthQualityScalerSettings::ParseFromFieldTrials();
21 EXPECT_FALSE(settings.BitrateStateUpdateInterval());
22 }
23
TEST(BandwidthQualityScalerSettingsTest,ParseBitrateStateUpdateInterval)24 TEST(BandwidthQualityScalerSettingsTest, ParseBitrateStateUpdateInterval) {
25 test::ScopedFieldTrials field_trials(
26 "WebRTC-Video-BandwidthQualityScalerSettings/"
27 "bitrate_state_update_interval_s_:100/");
28 EXPECT_EQ(100u, BandwidthQualityScalerSettings::ParseFromFieldTrials()
29 .BitrateStateUpdateInterval());
30 }
31
TEST(BandwidthQualityScalerSettingsTest,ParseAll)32 TEST(BandwidthQualityScalerSettingsTest, ParseAll) {
33 test::ScopedFieldTrials field_trials(
34 "WebRTC-Video-BandwidthQualityScalerSettings/"
35 "bitrate_state_update_interval_s_:100/");
36 EXPECT_EQ(100u, BandwidthQualityScalerSettings::ParseFromFieldTrials()
37 .BitrateStateUpdateInterval());
38 }
39
TEST(BandwidthQualityScalerSettingsTest,DoesNotParseIncorrectValue)40 TEST(BandwidthQualityScalerSettingsTest, DoesNotParseIncorrectValue) {
41 test::ScopedFieldTrials field_trials(
42 "WebRTC-Video-BandwidthQualityScalerSettings/"
43 "bitrate_state_update_interval_s_:??/");
44 const auto settings = BandwidthQualityScalerSettings::ParseFromFieldTrials();
45 EXPECT_FALSE(settings.BitrateStateUpdateInterval());
46 }
47
48 } // namespace
49 } // namespace webrtc
50