Index: net/quic/quic_received_packet_manager_test.cc |
diff --git a/net/quic/quic_received_packet_manager_test.cc b/net/quic/quic_received_packet_manager_test.cc |
index b5793092980721202fa741ca6a91faf96f3c4fda..b2a52c8537c619f386a84661834c21992b40e1a4 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 |