1 // Copyright 2016 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 "quiche/http2/hpack/http2_hpack_constants.h"
6
7 #include <sstream>
8
9 #include "quiche/common/platform/api/quiche_logging.h"
10 #include "quiche/common/platform/api/quiche_test.h"
11
12 namespace http2 {
13 namespace test {
14 namespace {
15
TEST(HpackEntryTypeTest,HpackEntryTypeToString)16 TEST(HpackEntryTypeTest, HpackEntryTypeToString) {
17 EXPECT_EQ("kIndexedHeader",
18 HpackEntryTypeToString(HpackEntryType::kIndexedHeader));
19 EXPECT_EQ("kDynamicTableSizeUpdate",
20 HpackEntryTypeToString(HpackEntryType::kDynamicTableSizeUpdate));
21 EXPECT_EQ("kIndexedLiteralHeader",
22 HpackEntryTypeToString(HpackEntryType::kIndexedLiteralHeader));
23 EXPECT_EQ("kUnindexedLiteralHeader",
24 HpackEntryTypeToString(HpackEntryType::kUnindexedLiteralHeader));
25 EXPECT_EQ("kNeverIndexedLiteralHeader",
26 HpackEntryTypeToString(HpackEntryType::kNeverIndexedLiteralHeader));
27 EXPECT_EQ("UnknownHpackEntryType(12321)",
28 HpackEntryTypeToString(static_cast<HpackEntryType>(12321)));
29 }
30
TEST(HpackEntryTypeTest,OutputHpackEntryType)31 TEST(HpackEntryTypeTest, OutputHpackEntryType) {
32 {
33 std::stringstream log;
34 log << HpackEntryType::kIndexedHeader;
35 EXPECT_EQ("kIndexedHeader", log.str());
36 }
37 {
38 std::stringstream log;
39 log << HpackEntryType::kDynamicTableSizeUpdate;
40 EXPECT_EQ("kDynamicTableSizeUpdate", log.str());
41 }
42 {
43 std::stringstream log;
44 log << HpackEntryType::kIndexedLiteralHeader;
45 EXPECT_EQ("kIndexedLiteralHeader", log.str());
46 }
47 {
48 std::stringstream log;
49 log << HpackEntryType::kUnindexedLiteralHeader;
50 EXPECT_EQ("kUnindexedLiteralHeader", log.str());
51 }
52 {
53 std::stringstream log;
54 log << HpackEntryType::kNeverIndexedLiteralHeader;
55 EXPECT_EQ("kNeverIndexedLiteralHeader", log.str());
56 }
57 {
58 std::stringstream log;
59 log << static_cast<HpackEntryType>(1234321);
60 EXPECT_EQ("UnknownHpackEntryType(1234321)", log.str());
61 }
62 }
63
64 } // namespace
65 } // namespace test
66 } // namespace http2
67