#include "quiche/quic/core/http/quic_spdy_client_stream.h"
#include <memory>
#include <string>
#include <utility>
#include "absl/strings/str_cat.h"
#include "quiche/quic/core/crypto/null_encrypter.h"
#include "quiche/quic/core/http/quic_spdy_client_session.h"
#include "quiche/quic/core/http/spdy_utils.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/crypto_test_utils.h"
#include "quiche/quic/test_tools/quic_spdy_session_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/common/simple_buffer_allocator.h"
HttpHeaderBlock;
_;
ElementsAre;
StrictMock;
namespace quic {
namespace test {
namespace {
class MockQuicSpdyClientSession : public QuicSpdyClientSession { … };
class QuicSpdyClientStreamTest : public QuicTestWithParam<ParsedQuicVersion> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(QuicSpdyClientStreamTest, TestReceivingIllegalResponseStatusCode) { … }
TEST_P(QuicSpdyClientStreamTest, InvalidResponseHeader) { … }
TEST_P(QuicSpdyClientStreamTest, MissingStatusCode) { … }
TEST_P(QuicSpdyClientStreamTest, TestFraming) { … }
TEST_P(QuicSpdyClientStreamTest, HostAllowedInResponseHeader) { … }
TEST_P(QuicSpdyClientStreamTest, Test100ContinueBeforeSuccessful) { … }
TEST_P(QuicSpdyClientStreamTest, TestUnknownInformationalBeforeSuccessful) { … }
TEST_P(QuicSpdyClientStreamTest, TestMultipleInformationalBeforeSuccessful) { … }
TEST_P(QuicSpdyClientStreamTest, TestReceiving101) { … }
TEST_P(QuicSpdyClientStreamTest, TestFramingOnePacket) { … }
TEST_P(QuicSpdyClientStreamTest,
QUIC_TEST_DISABLED_IN_CHROME(TestFramingExtraData)) { … }
TEST_P(QuicSpdyClientStreamTest, ReceivingTrailers) { … }
TEST_P(QuicSpdyClientStreamTest, Capsules) { … }
TEST_P(QuicSpdyClientStreamTest, CapsulesOnUnsuccessfulResponse) { … }
}
}
}