summaryrefslogtreecommitdiff
path: root/toxav/rtp_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toxav/rtp_test.cpp')
-rw-r--r--toxav/rtp_test.cpp80
1 files changed, 0 insertions, 80 deletions
diff --git a/toxav/rtp_test.cpp b/toxav/rtp_test.cpp
deleted file mode 100644
index d6717a28..00000000
--- a/toxav/rtp_test.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
1#include "rtp.h"
2
3#include "../toxcore/crypto_core.h"
4
5#include <gtest/gtest.h>
6
7namespace
8{
9
10RTPHeader random_header()
11{
12 return {
13 random_u16(),
14 random_u16(),
15 random_u16(),
16 random_u16(),
17 random_u16(),
18 random_u16(),
19 random_u16(),
20 random_u32(),
21 random_u32(),
22 random_u64(),
23 random_u32(),
24 random_u32(),
25 random_u32(),
26 random_u16(),
27 random_u16(),
28 };
29}
30
31TEST(Rtp, Deserialisation)
32{
33 RTPHeader const header = random_header();
34
35 uint8_t rdata[RTP_HEADER_SIZE];
36 EXPECT_EQ(rtp_header_pack(rdata, &header), RTP_HEADER_SIZE);
37
38 RTPHeader unpacked = {0};
39 EXPECT_EQ(rtp_header_unpack(rdata, &unpacked), RTP_HEADER_SIZE);
40
41 EXPECT_EQ(header.ve, unpacked.ve);
42 EXPECT_EQ(header.pe, unpacked.pe);
43 EXPECT_EQ(header.xe, unpacked.xe);
44 EXPECT_EQ(header.cc, unpacked.cc);
45 EXPECT_EQ(header.ma, unpacked.ma);
46 EXPECT_EQ(header.pt, unpacked.pt);
47 EXPECT_EQ(header.sequnum, unpacked.sequnum);
48 EXPECT_EQ(header.timestamp, unpacked.timestamp);
49 EXPECT_EQ(header.ssrc, unpacked.ssrc);
50 EXPECT_EQ(header.flags, unpacked.flags);
51 EXPECT_EQ(header.offset_full, unpacked.offset_full);
52 EXPECT_EQ(header.data_length_full, unpacked.data_length_full);
53 EXPECT_EQ(header.received_length_full, unpacked.received_length_full);
54 EXPECT_EQ(header.offset_lower, unpacked.offset_lower);
55 EXPECT_EQ(header.data_length_lower, unpacked.data_length_lower);
56}
57
58TEST(Rtp, SerialisingAllOnes)
59{
60 RTPHeader header;
61 memset(&header, 0xff, sizeof header);
62
63 uint8_t rdata[RTP_HEADER_SIZE];
64 rtp_header_pack(rdata, &header);
65
66 EXPECT_EQ(std::string((char const *)rdata, sizeof rdata),
67 std::string("\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
68 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
69 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
70 "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
71 "\x00\x00\x00\x00\x00\x00\x00\x00"
72 "\x00\x00\x00\x00\x00\x00\x00\x00"
73 "\x00\x00\x00\x00\x00\x00\x00\x00"
74 "\x00\x00\x00\x00\x00\x00\x00\x00"
75 "\x00\x00\x00\x00\x00\x00\x00\x00"
76 "\x00\x00\x00\x00\xFF\xFF\xFF\xFF",
77 RTP_HEADER_SIZE));
78}
79
80} // namespace