diff options
Diffstat (limited to 'net/quic/quic_received_packet_manager_test.cc')
-rw-r--r-- | net/quic/quic_received_packet_manager_test.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/net/quic/quic_received_packet_manager_test.cc b/net/quic/quic_received_packet_manager_test.cc index b579309..b2a52c8 100644 --- a/net/quic/quic_received_packet_manager_test.cc +++ b/net/quic/quic_received_packet_manager_test.cc @@ -202,6 +202,10 @@ class QuicReceivedPacketManagerTest : public ::testing::Test { received_manager_.RecordPacketReceived(0u, header, receipt_time); } + void RecordPacketRevived(QuicPacketSequenceNumber sequence_number) { + received_manager_.RecordPacketRevived(sequence_number); + } + QuicConnectionStats stats_; QuicReceivedPacketManager received_manager_; }; @@ -328,6 +332,32 @@ TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedConnectionStats) { EXPECT_EQ(1u, stats_.packets_reordered); } +TEST_F(QuicReceivedPacketManagerTest, RevivedPacket) { + RecordPacketReceipt(1, 0); + RecordPacketReceipt(3, 0); + RecordPacketRevived(2); + + ReceivedPacketInfo info; + received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); + EXPECT_EQ(1u, info.missing_packets.size()); + EXPECT_EQ(2u, *info.missing_packets.begin()); + EXPECT_EQ(1u, info.revived_packets.size()); + EXPECT_EQ(2u, *info.missing_packets.begin()); +} + +TEST_F(QuicReceivedPacketManagerTest, PacketRevivedThenReceived) { + RecordPacketReceipt(1, 0); + RecordPacketReceipt(3, 0); + RecordPacketRevived(2); + RecordPacketReceipt(2, 0); + + ReceivedPacketInfo info; + received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); + EXPECT_TRUE(info.missing_packets.empty()); + EXPECT_TRUE(info.revived_packets.empty()); +} + + } // namespace } // namespace test } // namespace net |