Reinstate "iOS - Add iceRegatherIntervalRange."
This reverts commit 93adc3209b5ff10adaba54d5eab6b53bc2780685.
Reverted originally because it depended on a CL which was reverted.
That CL has been reinstated in:
https: //chromium-review.googlesource.com/#/c/572070/
Bug: webrtc:7969
Change-Id: I608bbeaaba02e84908433c8260cf236df0307a97
Reviewed-on: https://chromium-review.googlesource.com/572405
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19035}
diff --git a/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
index df94d4f..4b44fb1 100644
--- a/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
@@ -18,6 +18,7 @@
#import "RTCConfiguration+Private.h"
#import "WebRTC/RTCConfiguration.h"
#import "WebRTC/RTCIceServer.h"
+#import "WebRTC/RTCIntervalRange.h"
@interface RTCConfigurationTest : NSObject
- (void)testConversionToNativeConfiguration;
@@ -29,6 +30,7 @@
- (void)testConversionToNativeConfiguration {
NSArray *urlStrings = @[ @"stun:stun1.example.net" ];
RTCIceServer *server = [[RTCIceServer alloc] initWithURLStrings:urlStrings];
+ RTCIntervalRange *range = [[RTCIntervalRange alloc] initWithMin:0 max:100];
RTCConfiguration *config = [[RTCConfiguration alloc] init];
config.iceServers = @[ server ];
@@ -47,6 +49,7 @@
config.continualGatheringPolicy =
RTCContinualGatheringPolicyGatherContinually;
config.shouldPruneTurnPorts = YES;
+ config.iceRegatherIntervalRange = range;
std::unique_ptr<webrtc::PeerConnectionInterface::RTCConfiguration>
nativeConfig([config createNativeConfiguration]);
@@ -73,11 +76,14 @@
EXPECT_EQ(webrtc::PeerConnectionInterface::GATHER_CONTINUALLY,
nativeConfig->continual_gathering_policy);
EXPECT_EQ(true, nativeConfig->prune_turn_ports);
+ EXPECT_EQ(range.min, nativeConfig->ice_regather_interval_range->min());
+ EXPECT_EQ(range.max, nativeConfig->ice_regather_interval_range->max());
}
- (void)testNativeConversionToConfiguration {
NSArray *urlStrings = @[ @"stun:stun1.example.net" ];
RTCIceServer *server = [[RTCIceServer alloc] initWithURLStrings:urlStrings];
+ RTCIntervalRange *range = [[RTCIntervalRange alloc] initWithMin:0 max:100];
RTCConfiguration *config = [[RTCConfiguration alloc] init];
config.iceServers = @[ server ];
@@ -96,6 +102,7 @@
config.continualGatheringPolicy =
RTCContinualGatheringPolicyGatherContinually;
config.shouldPruneTurnPorts = YES;
+ config.iceRegatherIntervalRange = range;
webrtc::PeerConnectionInterface::RTCConfiguration *nativeConfig =
[config createNativeConfiguration];
@@ -121,6 +128,8 @@
newConfig.iceBackupCandidatePairPingInterval);
EXPECT_EQ(config.continualGatheringPolicy, newConfig.continualGatheringPolicy);
EXPECT_EQ(config.shouldPruneTurnPorts, newConfig.shouldPruneTurnPorts);
+ EXPECT_EQ(config.iceRegatherIntervalRange.min, newConfig.iceRegatherIntervalRange.min);
+ EXPECT_EQ(config.iceRegatherIntervalRange.max, newConfig.iceRegatherIntervalRange.max);
}
@end
diff --git a/webrtc/sdk/objc/Framework/UnitTests/RTCIntervalRangeTests.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCIntervalRangeTests.mm
new file mode 100644
index 0000000..b995221
--- /dev/null
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCIntervalRangeTests.mm
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2017 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.
+ */
+
+#import <Foundation/Foundation.h>
+
+#include "webrtc/rtc_base/gunit.h"
+
+#import "RTCIntervalRange+Private.h"
+#import "WebRTC/RTCIntervalRange.h"
+
+@interface RTCIntervalRangeTest : NSObject
+- (void)testConversionToNativeConfiguration;
+- (void)testNativeConversionToConfiguration;
+@end
+
+@implementation RTCIntervalRangeTest
+
+- (void)testConversionToNativeConfiguration {
+ NSInteger min = 0;
+ NSInteger max = 100;
+ RTCIntervalRange *range = [[RTCIntervalRange alloc] initWithMin:min max:max];
+ EXPECT_EQ(min, range.min);
+ EXPECT_EQ(max, range.max);
+ std::unique_ptr<rtc::IntervalRange> nativeRange = range.nativeIntervalRange;
+ EXPECT_EQ(min, nativeRange->min());
+ EXPECT_EQ(max, nativeRange->max());
+}
+
+- (void)testNativeConversionToConfiguration {
+ NSInteger min = 0;
+ NSInteger max = 100;
+ rtc::IntervalRange nativeRange((int)min, (int)max);
+ RTCIntervalRange *range =
+ [[RTCIntervalRange alloc] initWithNativeIntervalRange:nativeRange];
+ EXPECT_EQ(min, range.min);
+ EXPECT_EQ(max, range.max);
+}
+
+@end
+
+TEST(RTCIntervalRangeTest, NativeConfigurationConversionTest) {
+ @autoreleasepool {
+ RTCIntervalRangeTest *test = [[RTCIntervalRangeTest alloc] init];
+ [test testConversionToNativeConfiguration];
+ [test testNativeConversionToConfiguration];
+ }
+}