Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / net / quic / quic_connection_logger_unittest.cc
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "net/quic/quic_connection_logger.h"
6
7 #include "net/quic/quic_protocol.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace net {
11 namespace test {
12
13 class QuicConnectionLoggerPeer {
14  public:
15   static size_t num_truncated_acks_sent(const QuicConnectionLogger& logger) {
16     return logger.num_truncated_acks_sent_;
17   }
18 };
19
20 class QuicConnectionLoggerTest : public ::testing::Test {
21  protected:
22   QuicConnectionLoggerTest() : logger_(nullptr, net_log_) {}
23
24   BoundNetLog net_log_;
25   QuicConnectionLogger logger_;
26 };
27
28 TEST_F(QuicConnectionLoggerTest, TruncatedAcksSentNotChanged) {
29   QuicAckFrame frame;
30   logger_.OnFrameAddedToPacket(QuicFrame(&frame));
31   EXPECT_EQ(0u, QuicConnectionLoggerPeer::num_truncated_acks_sent(logger_));
32
33   for (QuicPacketSequenceNumber i = 0; i < 256; ++i) {
34     frame.missing_packets.insert(i);
35   }
36   logger_.OnFrameAddedToPacket(QuicFrame(&frame));
37   EXPECT_EQ(0u, QuicConnectionLoggerPeer::num_truncated_acks_sent(logger_));
38 }
39
40 TEST_F(QuicConnectionLoggerTest, TruncatedAcksSent) {
41   QuicAckFrame frame;
42   for (QuicPacketSequenceNumber i = 0; i < 512; i += 2) {
43     frame.missing_packets.insert(i);
44   }
45   logger_.OnFrameAddedToPacket(QuicFrame(&frame));
46   EXPECT_EQ(1u, QuicConnectionLoggerPeer::num_truncated_acks_sent(logger_));
47 }
48
49 }  // namespace test
50 }  // namespace net