#include "quiche/http2/decoder/http2_frame_decoder.h"
#include <memory>
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "quiche/http2/http2_constants.h"
#include "quiche/http2/test_tools/frame_parts.h"
#include "quiche/http2/test_tools/frame_parts_collector_listener.h"
#include "quiche/http2/test_tools/http2_random.h"
#include "quiche/http2/test_tools/random_decoder_test_base.h"
#include "quiche/http2/test_tools/verify_macros.h"
#include "quiche/common/platform/api/quiche_logging.h"
AssertionSuccess;
namespace http2 {
namespace test {
class Http2FrameDecoderPeer { … };
namespace {
class Http2FrameDecoderTest : public RandomDecoderTest { … };
TEST_F(Http2FrameDecoderTest, DataEmpty) { … }
TEST_F(Http2FrameDecoderTest, HeadersEmpty) { … }
TEST_F(Http2FrameDecoderTest, Priority) { … }
TEST_F(Http2FrameDecoderTest, RstStream) { … }
TEST_F(Http2FrameDecoderTest, SettingsEmpty) { … }
TEST_F(Http2FrameDecoderTest, SettingsAck) { … }
TEST_F(Http2FrameDecoderTest, PushPromiseMinimal) { … }
TEST_F(Http2FrameDecoderTest, Ping) { … }
TEST_F(Http2FrameDecoderTest, PingAck) { … }
TEST_F(Http2FrameDecoderTest, GoAwayMinimal) { … }
TEST_F(Http2FrameDecoderTest, WindowUpdate) { … }
TEST_F(Http2FrameDecoderTest, ContinuationEmpty) { … }
TEST_F(Http2FrameDecoderTest, AltSvcMinimal) { … }
TEST_F(Http2FrameDecoderTest, UnknownEmpty) { … }
TEST_F(Http2FrameDecoderTest, DataPayload) { … }
TEST_F(Http2FrameDecoderTest, HeadersPayload) { … }
TEST_F(Http2FrameDecoderTest, HeadersPriority) { … }
TEST_F(Http2FrameDecoderTest, Settings) { … }
TEST_F(Http2FrameDecoderTest, PushPromisePayload) { … }
TEST_F(Http2FrameDecoderTest, GoAwayOpaqueData) { … }
TEST_F(Http2FrameDecoderTest, ContinuationPayload) { … }
TEST_F(Http2FrameDecoderTest, AltSvcPayload) { … }
TEST_F(Http2FrameDecoderTest, PriorityUpdatePayload) { … }
TEST_F(Http2FrameDecoderTest, UnknownPayload) { … }
TEST_F(Http2FrameDecoderTest, DataPayloadAndPadding) { … }
TEST_F(Http2FrameDecoderTest, HeadersPayloadAndPadding) { … }
TEST_F(Http2FrameDecoderTest, HeadersPayloadPriorityAndPadding) { … }
TEST_F(Http2FrameDecoderTest, PushPromisePayloadAndPadding) { … }
TEST_F(Http2FrameDecoderTest, DataMissingPadLengthField) { … }
TEST_F(Http2FrameDecoderTest, HeaderPaddingTooLong) { … }
TEST_F(Http2FrameDecoderTest, HeaderMissingPriority) { … }
TEST_F(Http2FrameDecoderTest, PriorityTooShort) { … }
TEST_F(Http2FrameDecoderTest, RstStreamTooShort) { … }
TEST_F(Http2FrameDecoderTest, SettingsWrongSize) { … }
TEST_F(Http2FrameDecoderTest, PushPromiseTooShort) { … }
TEST_F(Http2FrameDecoderTest, PushPromisePaddedTruncatedPromise) { … }
TEST_F(Http2FrameDecoderTest, PingTooShort) { … }
TEST_F(Http2FrameDecoderTest, GoAwayTooShort) { … }
TEST_F(Http2FrameDecoderTest, WindowUpdateTooShort) { … }
TEST_F(Http2FrameDecoderTest, AltSvcTruncatedOriginLength) { … }
TEST_F(Http2FrameDecoderTest, AltSvcTruncatedOrigin) { … }
TEST_F(Http2FrameDecoderTest, BeyondMaximum) { … }
TEST_F(Http2FrameDecoderTest, PriorityTooLong) { … }
TEST_F(Http2FrameDecoderTest, RstStreamTooLong) { … }
TEST_F(Http2FrameDecoderTest, SettingsAckTooLong) { … }
TEST_F(Http2FrameDecoderTest, PingAckTooLong) { … }
TEST_F(Http2FrameDecoderTest, WindowUpdateTooLong) { … }
}
}
}