blob: b266554961ce5e46ff35cb1a94dedf535147b6a3 [file] [log] [blame]
QUICHE teamfd50a402018-12-07 22:54:05 -05001// 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 "net/third_party/quiche/src/http2/hpack/http2_hpack_constants.h"
6
vasilvv348de992019-03-08 14:46:27 -08007#include <sstream>
8
QUICHE teamfd50a402018-12-07 22:54:05 -05009#include "testing/gmock/include/gmock/gmock.h"
10#include "testing/gtest/include/gtest/gtest.h"
QUICHE team61940b42019-03-07 23:32:27 -050011#include "net/third_party/quiche/src/http2/platform/api/http2_logging.h"
QUICHE teamfd50a402018-12-07 22:54:05 -050012
13namespace http2 {
14namespace test {
15namespace {
16
17TEST(HpackEntryTypeTest, HpackEntryTypeToString) {
18 EXPECT_EQ("kIndexedHeader",
19 HpackEntryTypeToString(HpackEntryType::kIndexedHeader));
20 EXPECT_EQ("kDynamicTableSizeUpdate",
21 HpackEntryTypeToString(HpackEntryType::kDynamicTableSizeUpdate));
22 EXPECT_EQ("kIndexedLiteralHeader",
23 HpackEntryTypeToString(HpackEntryType::kIndexedLiteralHeader));
24 EXPECT_EQ("kUnindexedLiteralHeader",
25 HpackEntryTypeToString(HpackEntryType::kUnindexedLiteralHeader));
26 EXPECT_EQ("kNeverIndexedLiteralHeader",
27 HpackEntryTypeToString(HpackEntryType::kNeverIndexedLiteralHeader));
28 EXPECT_EQ("UnknownHpackEntryType(12321)",
29 HpackEntryTypeToString(static_cast<HpackEntryType>(12321)));
30}
31
32TEST(HpackEntryTypeTest, OutputHpackEntryType) {
33 {
vasilvv348de992019-03-08 14:46:27 -080034 std::stringstream log;
35 log << HpackEntryType::kIndexedHeader;
36 EXPECT_EQ("kIndexedHeader", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050037 }
38 {
vasilvv348de992019-03-08 14:46:27 -080039 std::stringstream log;
40 log << HpackEntryType::kDynamicTableSizeUpdate;
41 EXPECT_EQ("kDynamicTableSizeUpdate", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050042 }
43 {
vasilvv348de992019-03-08 14:46:27 -080044 std::stringstream log;
45 log << HpackEntryType::kIndexedLiteralHeader;
46 EXPECT_EQ("kIndexedLiteralHeader", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050047 }
48 {
vasilvv348de992019-03-08 14:46:27 -080049 std::stringstream log;
50 log << HpackEntryType::kUnindexedLiteralHeader;
51 EXPECT_EQ("kUnindexedLiteralHeader", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050052 }
53 {
vasilvv348de992019-03-08 14:46:27 -080054 std::stringstream log;
55 log << HpackEntryType::kNeverIndexedLiteralHeader;
56 EXPECT_EQ("kNeverIndexedLiteralHeader", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050057 }
58 {
vasilvv348de992019-03-08 14:46:27 -080059 std::stringstream log;
60 log << static_cast<HpackEntryType>(1234321);
61 EXPECT_EQ("UnknownHpackEntryType(1234321)", log.str());
QUICHE teamfd50a402018-12-07 22:54:05 -050062 }
63}
64
65} // namespace
66} // namespace test
67} // namespace http2