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

Unified Diff: net/quic/quic_protocol_test.cc

Issue 1330973002: relnote: Refactor QuicAckFrame::missing_packets to support a change to a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Tidy_up_DLOG_messages_101773586
Patch Set: Created 5 years, 3 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
Index: net/quic/quic_protocol_test.cc
diff --git a/net/quic/quic_protocol_test.cc b/net/quic/quic_protocol_test.cc
index b1d9e422518b4e1b13e8af6285f9d179b6fa2f6e..d5ad0e982c4758f3274c50cfb527e92f0d384c90 100644
--- a/net/quic/quic_protocol_test.cc
+++ b/net/quic/quic_protocol_test.cc
@@ -4,6 +4,8 @@
#include "net/quic/quic_protocol.h"
+#include <sstream>
+
#include "base/stl_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -39,22 +41,10 @@ TEST(QuicProtocolTest, IsAawaitingPacket) {
EXPECT_TRUE(IsAwaitingPacket(ack_frame, 11u));
EXPECT_FALSE(IsAwaitingPacket(ack_frame, 1u));
- ack_frame.missing_packets.insert(10);
+ ack_frame.missing_packets.Add(10);
EXPECT_TRUE(IsAwaitingPacket(ack_frame, 10u));
}
-TEST(QuicProtocolTest, InsertMissingPacketsBetween) {
- QuicAckFrame ack_frame;
- InsertMissingPacketsBetween(&ack_frame, 4u, 10u);
- EXPECT_EQ(6u, ack_frame.missing_packets.size());
-
- QuicPacketNumber i = 4;
- for (PacketNumberSet::iterator it = ack_frame.missing_packets.begin();
- it != ack_frame.missing_packets.end(); ++it, ++i) {
- EXPECT_EQ(i, *it);
- }
-}
-
TEST(QuicProtocolTest, QuicVersionToQuicTag) {
// If you add a new version to the QuicVersion enum you will need to add a new
// case to QuicVersionToQuicTag, otherwise this test will fail.
@@ -165,6 +155,99 @@ TEST(QuicProtocolTest, QuicVersionToString) {
}
}
+// Tests that a queue contains the expected data after calls to Add().
+TEST(PacketNumberQueueTest, AddRange) {
+ PacketNumberQueue queue;
+ queue.Add(1, 51);
+ queue.Add(53);
+
+ EXPECT_FALSE(queue.Contains(0));
+ for (int i = 1; i < 51; ++i) {
+ EXPECT_TRUE(queue.Contains(i));
+ }
+ EXPECT_FALSE(queue.Contains(51));
+ EXPECT_FALSE(queue.Contains(52));
+ EXPECT_TRUE(queue.Contains(53));
+ EXPECT_FALSE(queue.Contains(54));
+ EXPECT_EQ(51u, queue.NumPackets());
+ EXPECT_EQ(1u, queue.Min());
+ EXPECT_EQ(53u, queue.Max());
+
+ queue.Add(70);
+ EXPECT_EQ(70u, queue.Max());
+}
+
+// Tests that a queue contains the expected data after calls to Remove().
+TEST(PacketNumberQueueTest, Removal) {
+ PacketNumberQueue queue;
+ queue.Add(0, 100);
+
+ EXPECT_TRUE(queue.RemoveUpTo(51));
+ EXPECT_FALSE(queue.RemoveUpTo(51));
+ queue.Remove(53);
+
+ EXPECT_FALSE(queue.Contains(0));
+ for (int i = 1; i < 51; ++i) {
+ EXPECT_FALSE(queue.Contains(i));
+ }
+ EXPECT_TRUE(queue.Contains(51));
+ EXPECT_TRUE(queue.Contains(52));
+ EXPECT_FALSE(queue.Contains(53));
+ EXPECT_TRUE(queue.Contains(54));
+ EXPECT_EQ(48u, queue.NumPackets());
+ EXPECT_EQ(51u, queue.Min());
+ EXPECT_EQ(99u, queue.Max());
+
+ queue.Remove(51);
+ EXPECT_EQ(52u, queue.Min());
+ queue.Remove(99);
+ EXPECT_EQ(98u, queue.Max());
+}
+
+// Tests that a queue is empty when all of its elements are removed.
+TEST(PacketNumberQueueTest, Empty) {
+ PacketNumberQueue queue;
+ EXPECT_TRUE(queue.Empty());
+ EXPECT_EQ(0u, queue.NumPackets());
+
+ queue.Add(1, 100);
+ EXPECT_TRUE(queue.RemoveUpTo(100));
+ EXPECT_TRUE(queue.Empty());
+ EXPECT_EQ(0u, queue.NumPackets());
+}
+
+// Tests that logging the state of a PacketNumberQueue does not crash.
+TEST(PacketNumberQueueTest, LogDoesNotCrash) {
+ std::ostringstream oss;
+ PacketNumberQueue queue;
+ oss << queue;
+
+ queue.Add(1);
+ queue.Add(50, 100);
+ oss << queue;
+}
+
+// Tests that the iterators returned from a packet queue iterate over the queue.
+TEST(PacketNumberQueueTest, Iterators) {
+ PacketNumberQueue queue;
+ queue.Add(1, 100);
+
+ const std::vector<QuicPacketNumber> actual(queue.begin(), queue.end());
+
+ std::vector<QuicPacketNumber> expected;
+ for (int i = 1; i < 100; ++i) {
+ expected.push_back(i);
+ }
+
+ EXPECT_EQ(expected, actual);
+
+ PacketNumberQueue::const_iterator it_low = queue.lower_bound(10);
+ EXPECT_EQ(10u, *it_low);
+
+ PacketNumberQueue::const_iterator it_up = queue.upper_bound(60);
+ EXPECT_EQ(61u, *it_up);
+}
+
} // namespace
} // namespace test
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698