Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc

Issue 2484863007: Revert of Simplify and extend RtpHeaderExtensionMap (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 11 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
12 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" 12 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h"
13 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
14 #include "webrtc/test/gtest.h" 13 #include "webrtc/test/gtest.h"
15 #include "webrtc/typedefs.h" 14 #include "webrtc/typedefs.h"
16 15
17 namespace webrtc { 16 namespace webrtc {
18 17
19 TEST(RtpHeaderExtensionTest, RegisterByType) { 18 class RtpHeaderExtensionTest : public ::testing::Test {
20 RtpHeaderExtensionMap map; 19 protected:
21 EXPECT_FALSE(map.IsRegistered(TransmissionOffset::kId)); 20 RtpHeaderExtensionTest() {}
21 ~RtpHeaderExtensionTest() {}
22 22
23 EXPECT_TRUE(map.RegisterByType(3, TransmissionOffset::kId)); 23 RtpHeaderExtensionMap map_;
24 static const uint8_t kId;
25 };
24 26
25 EXPECT_TRUE(map.IsRegistered(TransmissionOffset::kId)); 27 const uint8_t RtpHeaderExtensionTest::kId = 3;
26 EXPECT_EQ(3, map.GetId(TransmissionOffset::kId)); 28
27 EXPECT_EQ(TransmissionOffset::kId, map.GetType(3)); 29 TEST_F(RtpHeaderExtensionTest, Register) {
30 EXPECT_EQ(0, map_.Size());
31 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
32 EXPECT_TRUE(map_.IsRegistered(kRtpExtensionTransmissionTimeOffset));
33 EXPECT_EQ(1, map_.Size());
34 EXPECT_EQ(0, map_.Deregister(kRtpExtensionTransmissionTimeOffset));
35 EXPECT_EQ(0, map_.Size());
28 } 36 }
29 37
30 TEST(RtpHeaderExtensionTest, RegisterByUri) { 38 TEST_F(RtpHeaderExtensionTest, RegisterIllegalArg) {
31 RtpHeaderExtensionMap map; 39 // Valid range for id: [1-14].
32 40 EXPECT_EQ(-1, map_.Register(kRtpExtensionTransmissionTimeOffset, 0));
33 EXPECT_TRUE(map.RegisterByUri(3, TransmissionOffset::kUri)); 41 EXPECT_EQ(-1, map_.Register(kRtpExtensionTransmissionTimeOffset, 15));
34
35 EXPECT_TRUE(map.IsRegistered(TransmissionOffset::kId));
36 EXPECT_EQ(3, map.GetId(TransmissionOffset::kId));
37 EXPECT_EQ(TransmissionOffset::kId, map.GetType(3));
38 } 42 }
39 43
40 TEST(RtpHeaderExtensionTest, RegisterWithTrait) { 44 TEST_F(RtpHeaderExtensionTest, Idempotent) {
41 RtpHeaderExtensionMap map; 45 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
42 46 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
43 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 47 EXPECT_EQ(0, map_.Deregister(kRtpExtensionTransmissionTimeOffset));
44 48 EXPECT_EQ(0, map_.Deregister(kRtpExtensionTransmissionTimeOffset));
45 EXPECT_TRUE(map.IsRegistered(TransmissionOffset::kId));
46 EXPECT_EQ(3, map.GetId(TransmissionOffset::kId));
47 EXPECT_EQ(TransmissionOffset::kId, map.GetType(3));
48 } 49 }
49 50
50 TEST(RtpHeaderExtensionTest, RegisterDuringContruction) { 51 TEST_F(RtpHeaderExtensionTest, NonUniqueId) {
51 const RtpHeaderExtensionMap map = {{TransmissionOffset::kUri, 1}, 52 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
52 {AbsoluteSendTime::kUri, 3}}; 53 EXPECT_EQ(-1, map_.Register(kRtpExtensionAudioLevel, kId));
53
54 EXPECT_EQ(1, map.GetId(TransmissionOffset::kId));
55 EXPECT_EQ(3, map.GetId(AbsoluteSendTime::kId));
56 } 54 }
57 55
58 TEST(RtpHeaderExtensionTest, RegisterIllegalArg) { 56 TEST_F(RtpHeaderExtensionTest, GetTotalLength) {
59 RtpHeaderExtensionMap map; 57 EXPECT_EQ(0u, map_.GetTotalLengthInBytes());
60 // Valid range for id: [1-14]. 58 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
61 EXPECT_FALSE(map.Register<TransmissionOffset>(0)); 59 EXPECT_EQ(kRtpOneByteHeaderLength + kTransmissionTimeOffsetLength,
62 EXPECT_FALSE(map.Register<TransmissionOffset>(15)); 60 map_.GetTotalLengthInBytes());
63 } 61 }
64 62
65 TEST(RtpHeaderExtensionTest, Idempotent) { 63 TEST_F(RtpHeaderExtensionTest, GetType) {
66 RtpHeaderExtensionMap map; 64 RTPExtensionType typeOut;
65 EXPECT_EQ(-1, map_.GetType(kId, &typeOut));
67 66
68 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 67 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
69 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 68 EXPECT_EQ(0, map_.GetType(kId, &typeOut));
70 69 EXPECT_EQ(kRtpExtensionTransmissionTimeOffset, typeOut);
71 map.Deregister(TransmissionOffset::kId);
72 map.Deregister(TransmissionOffset::kId);
73 } 70 }
74 71
75 TEST(RtpHeaderExtensionTest, NonUniqueId) { 72 TEST_F(RtpHeaderExtensionTest, GetId) {
76 RtpHeaderExtensionMap map; 73 uint8_t idOut;
77 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 74 EXPECT_EQ(-1, map_.GetId(kRtpExtensionTransmissionTimeOffset, &idOut));
78 75
79 EXPECT_FALSE(map.Register<AudioLevel>(3)); 76 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
80 EXPECT_TRUE(map.Register<AudioLevel>(4)); 77 EXPECT_EQ(0, map_.GetId(kRtpExtensionTransmissionTimeOffset, &idOut));
78 EXPECT_EQ(kId, idOut);
81 } 79 }
82 80
83 TEST(RtpHeaderExtensionTest, GetTotalLength) { 81 TEST_F(RtpHeaderExtensionTest, GetCopy) {
84 RtpHeaderExtensionMap map; 82 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
85 EXPECT_EQ(0u, map.GetTotalLengthInBytes()); 83
86 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 84 RtpHeaderExtensionMap mapOut;
87 EXPECT_EQ(kRtpOneByteHeaderLength + (TransmissionOffset::kValueSizeBytes + 1), 85 map_.GetCopy(&mapOut);
88 map.GetTotalLengthInBytes()); 86 EXPECT_EQ(1, mapOut.Size());
87 EXPECT_EQ(kId, mapOut.GetId(kRtpExtensionTransmissionTimeOffset));
89 } 88 }
90 89
91 TEST(RtpHeaderExtensionTest, GetType) { 90 TEST_F(RtpHeaderExtensionTest, Erase) {
92 RtpHeaderExtensionMap map; 91 EXPECT_EQ(0, map_.Register(kRtpExtensionTransmissionTimeOffset, kId));
93 EXPECT_EQ(RtpHeaderExtensionMap::kInvalidType, map.GetType(3)); 92 EXPECT_EQ(1, map_.Size());
94 EXPECT_TRUE(map.Register<TransmissionOffset>(3)); 93 map_.Erase();
95 94 EXPECT_EQ(0, map_.Size());
96 EXPECT_EQ(TransmissionOffset::kId, map.GetType(3));
97 } 95 }
98
99 TEST(RtpHeaderExtensionTest, GetId) {
100 RtpHeaderExtensionMap map;
101 EXPECT_EQ(RtpHeaderExtensionMap::kInvalidId,
102 map.GetId(TransmissionOffset::kId));
103 EXPECT_TRUE(map.Register<TransmissionOffset>(3));
104
105 EXPECT_EQ(3, map.GetId(TransmissionOffset::kId));
106 }
107
108 } // namespace webrtc 96 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698