#include "quiche/quic/core/quic_stream_sequencer.h"
#include <algorithm>
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/base/macros.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/quic_stream.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_expect_bug.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/quic_stream_sequencer_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
_;
AnyNumber;
InSequence;
namespace quic {
namespace test {
class MockStream : public QuicStreamSequencer::StreamInterface { … };
namespace {
static const char kPayload[] = …;
class QuicStreamSequencerTest : public QuicTest { … };
TEST_F(QuicStreamSequencerTest, RejectOldFrame) { … }
TEST_F(QuicStreamSequencerTest, RejectBufferedFrame) { … }
TEST_F(QuicStreamSequencerTest, FullFrameConsumed) { … }
TEST_F(QuicStreamSequencerTest, BlockedThenFullFrameConsumed) { … }
TEST_F(QuicStreamSequencerTest, BlockedThenFullFrameAndFinConsumed) { … }
TEST_F(QuicStreamSequencerTest, EmptyFrame) { … }
TEST_F(QuicStreamSequencerTest, EmptyFinFrame) { … }
TEST_F(QuicStreamSequencerTest, PartialFrameConsumed) { … }
TEST_F(QuicStreamSequencerTest, NextxFrameNotConsumed) { … }
TEST_F(QuicStreamSequencerTest, FutureFrameNotProcessed) { … }
TEST_F(QuicStreamSequencerTest, OutOfOrderFrameProcessed) { … }
TEST_F(QuicStreamSequencerTest, BasicHalfCloseOrdered) { … }
TEST_F(QuicStreamSequencerTest, BasicHalfCloseUnorderedWithFlush) { … }
TEST_F(QuicStreamSequencerTest, BasicHalfUnordered) { … }
TEST_F(QuicStreamSequencerTest, TerminateWithReadv) { … }
TEST_F(QuicStreamSequencerTest, MultipleOffsets) { … }
class QuicSequencerRandomTest : public QuicStreamSequencerTest { … };
TEST_F(QuicSequencerRandomTest, RandomFramesNoDroppingNoBackup) { … }
TEST_F(QuicSequencerRandomTest, RandomFramesNoDroppingBackup) { … }
TEST_F(QuicStreamSequencerTest, MarkConsumed) { … }
TEST_F(QuicStreamSequencerTest, MarkConsumedError) { … }
TEST_F(QuicStreamSequencerTest, MarkConsumedWithMissingPacket) { … }
TEST_F(QuicStreamSequencerTest, Move) { … }
TEST_F(QuicStreamSequencerTest, OverlappingFramesReceived) { … }
TEST_F(QuicStreamSequencerTest, DataAvailableOnOverlappingFrames) { … }
TEST_F(QuicStreamSequencerTest, OnDataAvailableWhenReadableBytesIncrease) { … }
TEST_F(QuicStreamSequencerTest, ReadSingleFrame) { … }
TEST_F(QuicStreamSequencerTest, ReadMultipleFramesWithMissingFrame) { … }
TEST_F(QuicStreamSequencerTest, ReadAndAppendToString) { … }
TEST_F(QuicStreamSequencerTest, StopReading) { … }
TEST_F(QuicStreamSequencerTest, StopReadingWithLevelTriggered) { … }
TEST_F(QuicStreamSequencerTest, CorruptFinFrames) { … }
TEST_F(QuicStreamSequencerTest, ReceiveFinLessThanHighestOffset) { … }
}
}
}