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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc

Issue 1837213002: [rtcp] ReceiverReport::Parse updated not to use RTCPUtility (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc
index d6c7fc1dc4fdb95b062faaab2e8acdee56d01444..d2c833b866db9a24767e53f6545db2813dd44d28 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc
@@ -10,12 +10,15 @@
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "webrtc/test/rtcp_packet_parser.h"
+using testing::ElementsAreArray;
+using testing::IsEmpty;
+using testing::make_tuple;
using webrtc::rtcp::ReceiverReport;
using webrtc::rtcp::ReportBlock;
-using webrtc::RTCPUtility::RtcpCommonHeader;
-using webrtc::RTCPUtility::RtcpParseCommonHeader;
namespace webrtc {
namespace {
@@ -34,31 +37,11 @@ const uint8_t kPacket[] = {0x81, 201, 0x00, 0x07, 0x12, 0x34, 0x56, 0x78,
0x23, 0x45, 0x67, 0x89, 55, 0x11, 0x12, 0x13,
0x22, 0x23, 0x24, 0x25, 0x33, 0x34, 0x35, 0x36,
0x44, 0x45, 0x46, 0x47, 0x55, 0x56, 0x57, 0x58};
-const size_t kPacketLength = sizeof(kPacket);
-
-class RtcpPacketReceiverReportTest : public ::testing::Test {
- protected:
- void BuildPacket() { packet = rr.Build(); }
- void ParsePacket() {
- RtcpCommonHeader header;
- EXPECT_TRUE(RtcpParseCommonHeader(packet.data(), packet.size(), &header));
- EXPECT_EQ(header.BlockSize(), packet.size());
- EXPECT_TRUE(parsed_.Parse(
- header, packet.data() + RtcpCommonHeader::kHeaderSizeBytes));
- }
+} // namespace
+TEST(RtcpPacketReceiverReportTest, ParseWithOneReportBlock) {
ReceiverReport rr;
- rtc::Buffer packet;
- const ReceiverReport& parsed() { return parsed_; }
-
- private:
- ReceiverReport parsed_;
-};
-
-TEST_F(RtcpPacketReceiverReportTest, Parse) {
- RtcpCommonHeader header;
- RtcpParseCommonHeader(kPacket, kPacketLength, &header);
- EXPECT_TRUE(rr.Parse(header, kPacket + RtcpCommonHeader::kHeaderSizeBytes));
+ EXPECT_TRUE(test::ParseSinglePacket(kPacket, &rr));
const ReceiverReport& parsed = rr;
EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc());
@@ -73,14 +56,15 @@ TEST_F(RtcpPacketReceiverReportTest, Parse) {
EXPECT_EQ(kDelayLastSr, rb.delay_since_last_sr());
}
-TEST_F(RtcpPacketReceiverReportTest, ParseFailsOnIncorrectSize) {
- RtcpCommonHeader header;
- RtcpParseCommonHeader(kPacket, kPacketLength, &header);
- header.count_or_format++; // Damage the packet.
- EXPECT_FALSE(rr.Parse(header, kPacket + RtcpCommonHeader::kHeaderSizeBytes));
+TEST(RtcpPacketReceiverReportTest, ParseFailsOnIncorrectSize) {
+ rtc::Buffer damaged_packet(kPacket);
+ damaged_packet[0]++; // Damage the packet: increase count field.
+ ReceiverReport rr;
+ EXPECT_FALSE(test::ParseSinglePacket(damaged_packet, &rr));
}
-TEST_F(RtcpPacketReceiverReportTest, Create) {
+TEST(RtcpPacketReceiverReportTest, CreateWithOneReportBlock) {
+ ReceiverReport rr;
rr.From(kSenderSsrc);
ReportBlock rb;
rb.To(kRemoteSsrc);
@@ -92,23 +76,25 @@ TEST_F(RtcpPacketReceiverReportTest, Create) {
rb.WithDelayLastSr(kDelayLastSr);
rr.WithReportBlock(rb);
- BuildPacket();
+ rtc::Buffer raw = rr.Build();
- ASSERT_EQ(kPacketLength, packet.size());
- EXPECT_EQ(0, memcmp(kPacket, packet.data(), kPacketLength));
+ EXPECT_THAT(make_tuple(raw.data(), raw.size()), ElementsAreArray(kPacket));
}
-TEST_F(RtcpPacketReceiverReportTest, WithoutReportBlocks) {
+TEST(RtcpPacketReceiverReportTest, CreateAndParseWithoutReportBlocks) {
+ ReceiverReport rr;
rr.From(kSenderSsrc);
- BuildPacket();
- ParsePacket();
+ rtc::Buffer raw = rr.Build();
+ ReceiverReport parsed;
+ EXPECT_TRUE(test::ParseSinglePacket(raw, &parsed));
- EXPECT_EQ(kSenderSsrc, parsed().sender_ssrc());
- EXPECT_EQ(0u, parsed().report_blocks().size());
+ EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc());
+ EXPECT_THAT(parsed.report_blocks(), IsEmpty());
}
-TEST_F(RtcpPacketReceiverReportTest, WithTwoReportBlocks) {
+TEST(RtcpPacketReceiverReportTest, CreateAndParseWithTwoReportBlocks) {
+ ReceiverReport rr;
ReportBlock rb1;
rb1.To(kRemoteSsrc);
ReportBlock rb2;
@@ -118,16 +104,18 @@ TEST_F(RtcpPacketReceiverReportTest, WithTwoReportBlocks) {
EXPECT_TRUE(rr.WithReportBlock(rb1));
EXPECT_TRUE(rr.WithReportBlock(rb2));
- BuildPacket();
- ParsePacket();
+ rtc::Buffer raw = rr.Build();
+ ReceiverReport parsed;
+ EXPECT_TRUE(test::ParseSinglePacket(raw, &parsed));
- EXPECT_EQ(kSenderSsrc, parsed().sender_ssrc());
- EXPECT_EQ(2u, parsed().report_blocks().size());
- EXPECT_EQ(kRemoteSsrc, parsed().report_blocks()[0].source_ssrc());
- EXPECT_EQ(kRemoteSsrc + 1, parsed().report_blocks()[1].source_ssrc());
+ EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc());
+ EXPECT_EQ(2u, parsed.report_blocks().size());
+ EXPECT_EQ(kRemoteSsrc, parsed.report_blocks()[0].source_ssrc());
+ EXPECT_EQ(kRemoteSsrc + 1, parsed.report_blocks()[1].source_ssrc());
}
-TEST_F(RtcpPacketReceiverReportTest, WithTooManyReportBlocks) {
+TEST(RtcpPacketReceiverReportTest, CreateWithTooManyReportBlocks) {
+ ReceiverReport rr;
rr.From(kSenderSsrc);
const size_t kMaxReportBlocks = (1 << 5) - 1;
ReportBlock rb;
@@ -139,5 +127,4 @@ TEST_F(RtcpPacketReceiverReportTest, WithTooManyReportBlocks) {
EXPECT_FALSE(rr.WithReportBlock(rb));
}
-} // namespace
} // namespace webrtc
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698