chromium/net/third_party/quiche/src/quiche/quic/core/http/quic_receive_control_stream_test.cc

// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "quiche/quic/core/http/quic_receive_control_stream.h"

#include <ostream>
#include <string>
#include <vector>

#include "absl/memory/memory.h"
#include "absl/strings/escaping.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/http/http_constants.h"
#include "quiche/quic/core/qpack/qpack_header_table.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/test_tools/qpack/qpack_encoder_peer.h"
#include "quiche/quic/test_tools/quic_spdy_session_peer.h"
#include "quiche/quic/test_tools/quic_stream_peer.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/common/simple_buffer_allocator.h"

namespace quic {

class QpackEncoder;

namespace test {

namespace {
_;
AnyNumber;
StrictMock;

struct TestParams {};

// Used by ::testing::PrintToStringParamName().
std::string PrintToString(const TestParams& tp) {}

std::vector<TestParams> GetTestParams() {}

class TestStream : public QuicSpdyStream {};

class QuicReceiveControlStreamTest : public QuicTestWithParam<TestParams> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(QuicReceiveControlStreamTest, ResetControlStream) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveSettings) {}

// Regression test for https://crbug.com/982648.
// QuicReceiveControlStream::OnDataAvailable() must stop processing input as
// soon as OnSettingsFrameStart() is called by HttpDecoder for the second frame.
TEST_P(QuicReceiveControlStreamTest, ReceiveSettingsTwice) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveSettingsFragments) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveWrongFrame) {}

TEST_P(QuicReceiveControlStreamTest,
       ReceivePriorityUpdateFrameBeforeSettingsFrame) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveGoAwayFrame) {}

TEST_P(QuicReceiveControlStreamTest, PushPromiseOnControlStreamShouldClose) {}

// Regression test for b/137554973: unknown frames should be consumed.
TEST_P(QuicReceiveControlStreamTest, ConsumeUnknownFrame) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveUnknownFrame) {}

TEST_P(QuicReceiveControlStreamTest, CancelPushFrameBeforeSettings) {}

TEST_P(QuicReceiveControlStreamTest, AcceptChFrameBeforeSettings) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveAcceptChFrame) {}

TEST_P(QuicReceiveControlStreamTest, ReceiveOriginFrame) {}

TEST_P(QuicReceiveControlStreamTest, UnknownFrameBeforeSettings) {}

}  // namespace
}  // namespace test
}  // namespace quic