#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "net/spdy/bidirectional_stream_spdy_impl.h"
#include <string>
#include <string_view>
#include "base/containers/span.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/time/time.h"
#include "base/timer/mock_timer.h"
#include "base/timer/timer.h"
#include "net/base/load_timing_info.h"
#include "net/base/load_timing_info_test_util.h"
#include "net/base/net_errors.h"
#include "net/base/session_usage.h"
#include "net/dns/public/secure_dns_policy.h"
#include "net/http/http_request_info.h"
#include "net/http/http_response_headers.h"
#include "net/http/http_response_info.h"
#include "net/log/net_log.h"
#include "net/socket/socket_tag.h"
#include "net/socket/socket_test_util.h"
#include "net/spdy/spdy_session.h"
#include "net/spdy/spdy_test_util_common.h"
#include "net/test/cert_test_util.h"
#include "net/test/gtest_util.h"
#include "net/test/test_data_directory.h"
#include "net/test/test_with_task_environment.h"
#include "net/third_party/quiche/src/quiche/common/http/http_header_block.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
IsError;
IsOk;
namespace net {
namespace {
const char kBodyData[] = …;
const size_t kBodyDataSize = …;
const size_t kReadBufferSize = …;
void TestLoadTimingReused(const LoadTimingInfo& load_timing_info) { … }
void TestLoadTimingNotReused(const LoadTimingInfo& load_timing_info) { … }
class TestDelegateBase : public BidirectionalStreamImpl::Delegate { … };
}
class BidirectionalStreamSpdyImplTest : public testing::TestWithParam<bool>,
public WithTaskEnvironment { … };
TEST_F(BidirectionalStreamSpdyImplTest, SimplePostRequest) { … }
TEST_F(BidirectionalStreamSpdyImplTest, LoadTimingTwoRequests) { … }
TEST_F(BidirectionalStreamSpdyImplTest, SendDataAfterStreamFailed) { … }
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(BidirectionalStreamSpdyImplTest, RstWithNoErrorBeforeSendIsComplete) { … }
TEST_F(BidirectionalStreamSpdyImplTest, RequestDetectBrokenConnection) { … }
}