Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc |
index c7576500a42598ae94a4447c347e0a2f968775ec..1213e432fdee546cad14a2fd46d0935e188a795f 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc |
@@ -111,4 +111,25 @@ TEST(RtcpPacketSenderReportTest, CreateWithTooManyReportBlocks) { |
EXPECT_FALSE(sr.AddReportBlock(rb)); |
} |
+TEST(RtcpPacketSenderReportTest, SetReportBlocksOverwritesOldBlocks) { |
+ SenderReport sr; |
+ sr.AddReportBlock(ReportBlock()); |
+ ASSERT_EQ(sr.report_blocks().size(), 1u); |
+ |
+ std::vector<ReportBlock> blocks(3); |
+ EXPECT_TRUE(sr.SetReportBlocks(blocks)); |
+ EXPECT_EQ(sr.report_blocks().size(), 3u); |
+} |
+ |
+TEST(RtcpPacketSenderReportTest, SetTooManyReportBlocks) { |
+ SenderReport sr; |
+ const size_t kMaxReportBlocks = (1 << 5) - 1; |
+ |
+ std::vector<ReportBlock> blocks(kMaxReportBlocks); |
+ EXPECT_TRUE(sr.SetReportBlocks(blocks)); |
+ |
+ blocks.push_back(ReportBlock()); |
+ EXPECT_FALSE(sr.SetReportBlocks(blocks)); |
+} |
+ |
} // namespace webrtc |