1/*
2 *  Copyright 2015 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#import <Foundation/Foundation.h>
12
13#include "rtc_base/gunit.h"
14
15#import "api/peerconnection/RTCDataChannelConfiguration+Private.h"
16#import "api/peerconnection/RTCDataChannelConfiguration.h"
17#import "helpers/NSString+StdString.h"
18
19@interface RTCDataChannelConfigurationTest : NSObject
20- (void)testConversionToNativeDataChannelInit;
21@end
22
23@implementation RTCDataChannelConfigurationTest
24
25- (void)testConversionToNativeDataChannelInit {
26  BOOL isOrdered = NO;
27  int maxPacketLifeTime = 5;
28  int maxRetransmits = 4;
29  BOOL isNegotiated = YES;
30  int channelId = 4;
31  NSString *protocol = @"protocol";
32
33  RTC_OBJC_TYPE(RTCDataChannelConfiguration) *dataChannelConfig =
34      [[RTC_OBJC_TYPE(RTCDataChannelConfiguration) alloc] init];
35  dataChannelConfig.isOrdered = isOrdered;
36  dataChannelConfig.maxPacketLifeTime = maxPacketLifeTime;
37  dataChannelConfig.maxRetransmits = maxRetransmits;
38  dataChannelConfig.isNegotiated = isNegotiated;
39  dataChannelConfig.channelId = channelId;
40  dataChannelConfig.protocol = protocol;
41
42  webrtc::DataChannelInit nativeInit = dataChannelConfig.nativeDataChannelInit;
43  EXPECT_EQ(isOrdered, nativeInit.ordered);
44  EXPECT_EQ(maxPacketLifeTime, nativeInit.maxRetransmitTime);
45  EXPECT_EQ(maxRetransmits, nativeInit.maxRetransmits);
46  EXPECT_EQ(isNegotiated, nativeInit.negotiated);
47  EXPECT_EQ(channelId, nativeInit.id);
48  EXPECT_EQ(protocol.stdString, nativeInit.protocol);
49}
50
51@end
52
53TEST(RTC_OBJC_TYPE(RTCDataChannelConfiguration), NativeDataChannelInitConversionTest) {
54  @autoreleasepool {
55    RTCDataChannelConfigurationTest *test =
56        [[RTCDataChannelConfigurationTest alloc] init];
57    [test testConversionToNativeDataChannelInit];
58  }
59}
60