blob: 84804fee870631c5ccee42e41d23545c49271dde [file] [log] [blame]
Kári Tristan Helgasonecbdbf62020-02-20 07:34:45 -08001/*
2 * Copyright 2020 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 "api/peerconnection/RTCEncodedImage+Private.h"
12
13#import <XCTest/XCTest.h>
14
15@interface RTCEncodedImageTests : XCTestCase
16@end
17
18@implementation RTCEncodedImageTests
19
20- (void)testInitializedWithNativeEncodedImage {
21 const auto encoded_data = webrtc::EncodedImageBuffer::Create();
22 webrtc::EncodedImage encoded_image;
23 encoded_image.SetEncodedData(encoded_data);
24
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020025 RTC_OBJC_TYPE(RTCEncodedImage) *encodedImage =
26 [[RTC_OBJC_TYPE(RTCEncodedImage) alloc] initWithNativeEncodedImage:encoded_image];
Kári Tristan Helgasonecbdbf62020-02-20 07:34:45 -080027
28 XCTAssertEqual([encodedImage nativeEncodedImage].GetEncodedData(), encoded_data);
29}
30
31- (void)testInitWithNSData {
32 NSData *bufferData = [NSData data];
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020033 RTC_OBJC_TYPE(RTCEncodedImage) *encodedImage = [[RTC_OBJC_TYPE(RTCEncodedImage) alloc] init];
Kári Tristan Helgasonecbdbf62020-02-20 07:34:45 -080034 encodedImage.buffer = bufferData;
35
36 webrtc::EncodedImage result_encoded_image = [encodedImage nativeEncodedImage];
37 XCTAssertTrue(result_encoded_image.GetEncodedData() != nullptr);
38 XCTAssertEqual(result_encoded_image.GetEncodedData()->data(), bufferData.bytes);
39}
40
41- (void)testRetainsNativeEncodedImage {
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020042 RTC_OBJC_TYPE(RTCEncodedImage) * encodedImage;
Kári Tristan Helgasonecbdbf62020-02-20 07:34:45 -080043 {
44 const auto encoded_data = webrtc::EncodedImageBuffer::Create();
45 webrtc::EncodedImage encoded_image;
46 encoded_image.SetEncodedData(encoded_data);
Mirko Bonadeia81e9c82020-05-04 16:14:32 +020047 encodedImage =
48 [[RTC_OBJC_TYPE(RTCEncodedImage) alloc] initWithNativeEncodedImage:encoded_image];
Kári Tristan Helgasonecbdbf62020-02-20 07:34:45 -080049 }
50 webrtc::EncodedImage result_encoded_image = [encodedImage nativeEncodedImage];
51 XCTAssertTrue(result_encoded_image.GetEncodedData() != nullptr);
52 XCTAssertTrue(result_encoded_image.GetEncodedData()->data() != nullptr);
53}
54
55@end