OLD | NEW |
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/core/quic_header_list.h" | 5 #include "net/quic/core/quic_header_list.h" |
6 | 6 |
7 #include "net/quic/core/quic_flags.h" | 7 #include "net/quic/core/quic_flags.h" |
8 #include "net/quic/test_tools/quic_test_utils.h" | 8 #include "net/quic/test_tools/quic_test_utils.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 using std::string; | 11 using std::string; |
12 | 12 |
13 namespace net { | 13 namespace net { |
14 | 14 |
15 // This test verifies that QuicHeaderList accumulates header pairs in order. | 15 // This test verifies that QuicHeaderList accumulates header pairs in order. |
16 TEST(QuicHeaderListTest, OnHeader) { | 16 TEST(QuicHeaderListTest, OnHeader) { |
17 QuicHeaderList headers; | 17 QuicHeaderList headers; |
18 headers.OnHeader("foo", "bar"); | 18 headers.OnHeader("foo", "bar"); |
19 headers.OnHeader("april", "fools"); | 19 headers.OnHeader("april", "fools"); |
20 headers.OnHeader("beep", ""); | 20 headers.OnHeader("beep", ""); |
21 | 21 |
22 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers.DebugString()); | 22 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers.DebugString()); |
23 } | 23 } |
24 | 24 |
25 TEST(QuicHeaderListTest, TooLarge) { | 25 TEST(QuicHeaderListTest, TooLarge) { |
26 test::QuicFlagSaver flags; | |
27 FLAGS_quic_reloadable_flag_quic_limit_uncompressed_headers = true; | |
28 QuicHeaderList headers; | 26 QuicHeaderList headers; |
29 string key = "key"; | 27 string key = "key"; |
30 string value(1 << 18, '1'); | 28 string value(1 << 18, '1'); |
31 headers.OnHeader(key, value); | 29 headers.OnHeader(key, value); |
32 headers.OnHeaderBlockEnd(key.size() + value.size()); | 30 headers.OnHeaderBlockEnd(key.size() + value.size()); |
33 EXPECT_TRUE(headers.empty()); | 31 EXPECT_TRUE(headers.empty()); |
34 | 32 |
35 EXPECT_EQ("{ }", headers.DebugString()); | 33 EXPECT_EQ("{ }", headers.DebugString()); |
36 } | 34 } |
37 | 35 |
(...skipping 15 matching lines...) Expand all Loading... |
53 headers.OnHeader("beep", ""); | 51 headers.OnHeader("beep", ""); |
54 | 52 |
55 QuicHeaderList headers2(headers); | 53 QuicHeaderList headers2(headers); |
56 QuicHeaderList headers3 = headers; | 54 QuicHeaderList headers3 = headers; |
57 | 55 |
58 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers2.DebugString()); | 56 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers2.DebugString()); |
59 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers3.DebugString()); | 57 EXPECT_EQ("{ foo=bar, april=fools, beep=, }", headers3.DebugString()); |
60 } | 58 } |
61 | 59 |
62 } // namespace net | 60 } // namespace net |
OLD | NEW |