Chromium Code Reviews| 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 4061db889f2b39a0a2681f680722bc2ea2c08c43..d18d4737764d40d634e522883dcb493b623ccfc8 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 |
| @@ -127,4 +127,35 @@ TEST(RtcpPacketReceiverReportTest, CreateWithTooManyReportBlocks) { |
| EXPECT_FALSE(rr.AddReportBlock(rb)); |
| } |
| +TEST(RtcpPacketReceiverReportTest, SetReportBlocksOverwritesOldBlocks) { |
| + ReceiverReport rr; |
| + ReportBlock report_block; |
| + // Use jitter field of the report blocks to distinguish them. |
| + report_block.SetJitter(1001); |
| + rr.AddReportBlock(report_block); |
| + ASSERT_EQ(rr.report_blocks().size(), 1u); |
| + ASSERT_EQ(rr.report_blocks()[0].jitter(), 1001u); |
| + |
| + std::vector<ReportBlock> blocks(3); |
| + blocks[0].SetJitter(2001); |
|
eladalon
2017/07/25 11:46:01
nit: Maybe use 2001u, here and elsewhere, to preve
danilchap
2017/07/25 12:45:20
Done. Less confusion is better.
|
| + blocks[1].SetJitter(3001); |
| + blocks[2].SetJitter(4001); |
| + EXPECT_TRUE(rr.SetReportBlocks(blocks)); |
| + ASSERT_EQ(rr.report_blocks().size(), 3u); |
| + EXPECT_EQ(rr.report_blocks()[0].jitter(), 2001u); |
| + EXPECT_EQ(rr.report_blocks()[1].jitter(), 3001u); |
| + EXPECT_EQ(rr.report_blocks()[2].jitter(), 4001u); |
| +} |
| + |
| +TEST(RtcpPacketReceiverReportTest, CanSetMax31ReportBlock) { |
|
eladalon
2017/07/25 11:46:01
nit: I would have used something like MaxReportBlo
danilchap
2017/07/25 12:45:20
Since exact value moved away from test, moved it a
|
| + ReceiverReport rr; |
| + const size_t kMaxReportBlocks = (1 << 5) - 1; |
|
eladalon
2017/07/25 11:48:47
Oh, by the way - I would understand if it were:
(1
danilchap
2017/07/25 12:45:20
Not sure why I hide the constant in the private se
|
| + |
| + std::vector<ReportBlock> blocks(kMaxReportBlocks); |
| + EXPECT_TRUE(rr.SetReportBlocks(blocks)); |
| + |
| + blocks.push_back(ReportBlock()); |
| + EXPECT_FALSE(rr.SetReportBlocks(blocks)); |
|
eladalon
2017/07/25 11:46:01
nit: This is not important enough to block (no pun
danilchap
2017/07/25 12:45:20
test guide suggest to test distinct behavior in di
eladalon
2017/07/25 13:26:09
The guide discourages performing actions on the ob
|
| +} |
| + |
| } // namespace webrtc |