chromium/net/spdy/header_coalescer_test.cc

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "net/spdy/header_coalescer.h"

#include <string>
#include <string_view>
#include <vector>

#include "net/log/net_log.h"
#include "net/log/test_net_log.h"
#include "net/log/test_net_log_util.h"
#include "net/spdy/spdy_test_util_common.h"
#include "net/third_party/quiche/src/quiche/common/http/http_header_block.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"

ElementsAre;
Pair;

namespace net::test {

class HeaderCoalescerTest : public ::testing::Test {};

TEST_F(HeaderCoalescerTest, CorrectHeaders) {}

TEST_F(HeaderCoalescerTest, EmptyHeaderKey) {}

TEST_F(HeaderCoalescerTest, HeaderBlockTooLarge) {}

TEST_F(HeaderCoalescerTest, PseudoHeadersMustNotFollowRegularHeaders) {}

TEST_F(HeaderCoalescerTest, Append) {}

TEST_F(HeaderCoalescerTest, HeaderNameNotValid) {}

// RFC 7540 Section 8.1.2.6. Uppercase in header name is invalid.
TEST_F(HeaderCoalescerTest, HeaderNameHasUppercase) {}

// RFC 7230 Section 3.2. Valid header name is defined as:
// field-name     = token
// token          = 1*tchar
// tchar          = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
//                  "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
TEST_F(HeaderCoalescerTest, HeaderNameValid) {}

// According to RFC 7540 Section 10.3 and RFC 7230 Section 3.2, allowed
// characters in header values are '\t', '  ', 0x21 to 0x7E, and 0x80 to 0xFF.
TEST_F(HeaderCoalescerTest, HeaderValueValid) {}

TEST_F(HeaderCoalescerTest, HeaderValueContainsLF) {}

TEST_F(HeaderCoalescerTest, HeaderValueContainsCR) {}

TEST_F(HeaderCoalescerTest, HeaderValueContains0x7f) {}

}  // namespace net::test