#include "quiche/quic/core/qpack/qpack_decoded_headers_accumulator.h"
#include <cstring>
#include <string>
#include "absl/strings/escaping.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/qpack/qpack_decoder.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/qpack/qpack_test_utils.h"
_;
ElementsAre;
Eq;
Pair;
SaveArg;
StrictMock;
namespace quic {
namespace test {
namespace {
QuicStreamId kTestStreamId = …;
const size_t kMaxHeaderListSize = …;
const size_t kMaxDynamicTableCapacity = …;
const uint64_t kMaximumBlockedStreams = …;
const char* const kHeaderAcknowledgement = …;
class MockVisitor : public QpackDecodedHeadersAccumulator::Visitor { … };
}
class QpackDecodedHeadersAccumulatorTest : public QuicTest { … };
TEST_F(QpackDecodedHeadersAccumulatorTest, EmptyPayload) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, TruncatedHeaderBlockPrefix) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, EmptyHeaderList) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, TruncatedPayload) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, InvalidPayload) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, Success) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, ExceedLimitThenSplitInstruction) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, ExceedLimitBlocked) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest, BlockedDecoding) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest,
BlockedDecodingUnblockedBeforeEndOfHeaderBlock) { … }
TEST_F(QpackDecodedHeadersAccumulatorTest,
BlockedDecodingUnblockedAndErrorBeforeEndOfHeaderBlock) { … }
}
}