#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 {
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_P(HpackEncoderTest, CrumbleNullByteDelimitedValue) { … }
TEST_P(HpackEncoderTest, HeaderTableSizeUpdate) { … }
TEST_P(HpackEncoderTest, HeaderTableSizeUpdateWithMin) { … }
TEST_P(HpackEncoderTest, HeaderTableSizeUpdateWithExistingSize) { … }
TEST_P(HpackEncoderTest, HeaderTableSizeUpdatesWithGreaterSize) { … }
}
}