chromium/net/third_party/quiche/src/quiche/http2/hpack/hpack_encoder_test.cc

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

#include "quiche/http2/hpack/hpack_encoder.h"

#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include <vector>

#include "absl/strings/string_view.h"
#include "quiche/http2/hpack/hpack_constants.h"
#include "quiche/http2/hpack/hpack_entry.h"
#include "quiche/http2/hpack/hpack_header_table.h"
#include "quiche/http2/hpack/hpack_output_stream.h"
#include "quiche/http2/hpack/hpack_static_table.h"
#include "quiche/http2/hpack/huffman/hpack_huffman_encoder.h"
#include "quiche/http2/test_tools/http2_random.h"
#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/platform/api/quiche_test.h"
#include "quiche/common/quiche_simple_arena.h"

namespace spdy {

namespace test {

class HpackHeaderTablePeer {};

class HpackEncoderPeer {};

}  // namespace test

namespace {

ElementsAre;
Pair;

const size_t kStaticEntryIndex =;

enum EncodeStrategy {};

class HpackEncoderTest
    : public quiche::test::QuicheTestWithParam<EncodeStrategy> {};

HpackEncoderTestWithDefaultStrategy;

INSTANTIATE_TEST_SUITE_P();

TEST_P(HpackEncoderTestWithDefaultStrategy, EncodeRepresentations) {}

TEST_P(HpackEncoderTestWithDefaultStrategy, WithoutCookieCrumbling) {}

TEST_P(HpackEncoderTestWithDefaultStrategy, DynamicTableGrows) {}

INSTANTIATE_TEST_SUITE_P();

TEST_P(HpackEncoderTest, SingleDynamicIndex) {}

TEST_P(HpackEncoderTest, SingleStaticIndex) {}

TEST_P(HpackEncoderTest, SingleStaticIndexTooLarge) {}

TEST_P(HpackEncoderTest, SingleLiteralWithIndexName) {}

TEST_P(HpackEncoderTest, SingleLiteralWithLiteralName) {}

TEST_P(HpackEncoderTest, SingleLiteralTooLarge) {}

TEST_P(HpackEncoderTest, EmitThanEvict) {}

TEST_P(HpackEncoderTest, CookieHeaderIsCrumbled) {}

TEST_P(HpackEncoderTest, CookieHeaderIsNotCrumbled) {}

TEST_P(HpackEncoderTest, MultiValuedHeadersNotCrumbled) {}

TEST_P(HpackEncoderTest, StringsDynamicallySelectHuffmanCoding) {}

TEST_P(HpackEncoderTest, EncodingWithoutCompression) {}

TEST_P(HpackEncoderTest, MultipleEncodingPasses) {}

TEST_P(HpackEncoderTest, PseudoHeadersFirst) {}

TEST_P(HpackEncoderTest, CookieToCrumbs) {}

TEST_P(HpackEncoderTest, DecomposeRepresentation) {}

// Test that encoded headers do not have \0-delimited multiple values, as this
// became disallowed in HTTP/2 draft-14.
TEST_P(HpackEncoderTest, CrumbleNullByteDelimitedValue) {}

TEST_P(HpackEncoderTest, HeaderTableSizeUpdate) {}

TEST_P(HpackEncoderTest, HeaderTableSizeUpdateWithMin) {}

TEST_P(HpackEncoderTest, HeaderTableSizeUpdateWithExistingSize) {}

TEST_P(HpackEncoderTest, HeaderTableSizeUpdatesWithGreaterSize) {}

}  // namespace

}  // namespace spdy