chromium/net/third_party/quiche/src/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc

// Copyright 2016 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/decoder/hpack_decoder_tables.h"

#include <algorithm>
#include <string>
#include <tuple>
#include <vector>

#include "quiche/http2/hpack/http2_hpack_constants.h"
#include "quiche/http2/test_tools/http2_random.h"
#include "quiche/http2/test_tools/random_util.h"
#include "quiche/http2/test_tools/verify_macros.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/platform/api/quiche_test.h"

AssertionResult;
AssertionSuccess;

namespace http2 {
namespace test {
class HpackDecoderTablesPeer {};

namespace {
struct StaticEntry {};

std::vector<StaticEntry> MakeSpecStaticEntries() {}

template <class C>
void ShuffleCollection(C* collection, Http2Random* r) {}

class HpackDecoderStaticTableTest : public quiche::test::QuicheTest {};

TEST_F(HpackDecoderStaticTableTest, StaticTableContents) {}

size_t Size(const std::string& name, const std::string& value) {}

// To support tests with more than a few of hand crafted changes to the dynamic
// table, we have another, exceedingly simple, implementation of the HPACK
// dynamic table containing FakeHpackEntry instances. We can thus compare the
// contents of the actual table with those in fake_dynamic_table_.

FakeHpackEntry;
const std::string& Name(const FakeHpackEntry& entry) {}
const std::string& Value(const FakeHpackEntry& entry) {}
size_t Size(const FakeHpackEntry& entry) {}

class HpackDecoderTablesTest : public HpackDecoderStaticTableTest {};

TEST_F(HpackDecoderTablesTest, StaticTableContents) {}

// Generate a bunch of random header entries, insert them, and confirm they
// present, as required by the RFC, using VerifyDynamicTableContents above on
// each Insert. Also apply various resizings of the dynamic table.
TEST_F(HpackDecoderTablesTest, RandomDynamicTable) {}

}  // namespace
}  // namespace test
}  // namespace http2