#include "quiche/web_transport/encapsulated/encapsulated_web_transport.h"
#include <array>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/status/status.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "quiche/common/capsule.h"
#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_test.h"
#include "quiche/common/quiche_buffer_allocator.h"
#include "quiche/common/quiche_stream.h"
#include "quiche/common/simple_buffer_allocator.h"
#include "quiche/common/test_tools/mock_streams.h"
#include "quiche/common/test_tools/quiche_test_utils.h"
#include "quiche/web_transport/test_tools/mock_web_transport.h"
#include "quiche/web_transport/web_transport.h"
namespace webtransport::test {
namespace {
Capsule;
CapsuleType;
StatusIs;
_;
ElementsAre;
HasSubstr;
IsEmpty;
Return;
StrEq;
class EncapsulatedWebTransportTest : public quiche::test::QuicheTest,
public quiche::CapsuleParser::Visitor { … };
TEST_F(EncapsulatedWebTransportTest, IsOpenedBy) { … }
TEST_F(EncapsulatedWebTransportTest, SetupClientSession) { … }
TEST_F(EncapsulatedWebTransportTest, SetupServerSession) { … }
TEST_F(EncapsulatedWebTransportTest, CloseSession) { … }
TEST_F(EncapsulatedWebTransportTest, CloseSessionWriteBlocked) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveFin) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveCloseSession) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveMalformedData) { … }
TEST_F(EncapsulatedWebTransportTest, SendDatagrams) { … }
TEST_F(EncapsulatedWebTransportTest, SendDatagramsEarly) { … }
TEST_F(EncapsulatedWebTransportTest, SendDatagramsBeforeInitialization) { … }
TEST_F(EncapsulatedWebTransportTest, SendDatagramsTooBig) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveDatagrams) { … }
TEST_F(EncapsulatedWebTransportTest, SendDraining) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveDraining) { … }
TEST_F(EncapsulatedWebTransportTest, WriteErrorDatagram) { … }
TEST_F(EncapsulatedWebTransportTest, WriteErrorControlCapsule) { … }
TEST_F(EncapsulatedWebTransportTest, SimpleRead) { … }
class MockStreamVisitorWithDestructor : public MockStreamVisitor { … };
MockStreamVisitorWithDestructor* SetupVisitor(Stream& stream) { … }
TEST_F(EncapsulatedWebTransportTest, ImmediateRead) { … }
TEST_F(EncapsulatedWebTransportTest, FinPeek) { … }
TEST_F(EncapsulatedWebTransportTest, FinRead) { … }
TEST_F(EncapsulatedWebTransportTest, LargeRead) { … }
TEST_F(EncapsulatedWebTransportTest, DoubleFinReceived) { … }
TEST_F(EncapsulatedWebTransportTest, CanWriteUnidiBidi) { … }
TEST_F(EncapsulatedWebTransportTest, ReadOnlyGarbageCollection) { … }
TEST_F(EncapsulatedWebTransportTest, WriteOnlyGarbageCollection) { … }
TEST_F(EncapsulatedWebTransportTest, SimpleWrite) { … }
TEST_F(EncapsulatedWebTransportTest, WriteWithFin) { … }
TEST_F(EncapsulatedWebTransportTest, FinOnlyWrite) { … }
TEST_F(EncapsulatedWebTransportTest, BufferedWriteThenUnbuffer) { … }
TEST_F(EncapsulatedWebTransportTest, BufferedWriteThenFlush) { … }
TEST_F(EncapsulatedWebTransportTest, BufferedStreamBlocksAnother) { … }
TEST_F(EncapsulatedWebTransportTest, SendReset) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveReset) { … }
TEST_F(EncapsulatedWebTransportTest, SendStopSending) { … }
TEST_F(EncapsulatedWebTransportTest, ReceiveStopSending) { … }
}
}