chromium/net/third_party/quiche/src/quiche/http2/hpack/huffman/hpack_huffman_transcoder_test.cc

// Copyright (c) 2018 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.

// A test of roundtrips through the encoder and decoder.

#include <stddef.h>

#include <string>
#include <tuple>

#include "absl/strings/string_view.h"
#include "quiche/http2/decoder/decode_buffer.h"
#include "quiche/http2/decoder/decode_status.h"
#include "quiche/http2/hpack/huffman/hpack_huffman_decoder.h"
#include "quiche/http2/hpack/huffman/hpack_huffman_encoder.h"
#include "quiche/http2/test_tools/random_decoder_test_base.h"
#include "quiche/common/platform/api/quiche_test.h"
#include "quiche/common/quiche_text_utils.h"

AssertionSuccess;
Combine;
Range;
Values;

namespace http2 {
namespace test {
namespace {

std::string GenAsciiNonControlSet() {}

class HpackHuffmanTranscoderTest : public RandomDecoderTest {};

TEST_F(HpackHuffmanTranscoderTest, RoundTripRandomAsciiNonControlString) {}

TEST_F(HpackHuffmanTranscoderTest, RoundTripRandomBytes) {}

// Two parameters: decoder choice, and the character to round-trip.
class HpackHuffmanTranscoderAdjacentCharTest
    : public HpackHuffmanTranscoderTest,
      public testing::WithParamInterface<int> {};

INSTANTIATE_TEST_SUITE_P();

// Test c_ adjacent to every other character, both before and after.
TEST_P(HpackHuffmanTranscoderAdjacentCharTest, RoundTripAdjacentChar) {}

// Two parameters: character to repeat, number of repeats.
class HpackHuffmanTranscoderRepeatedCharTest
    : public HpackHuffmanTranscoderTest,
      public testing::WithParamInterface<std::tuple<int, int>> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(HpackHuffmanTranscoderRepeatedCharTest, RoundTripRepeatedChar) {}

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