| Index: net/quic/core/quic_config_test.cc
|
| diff --git a/net/quic/core/quic_config_test.cc b/net/quic/core/quic_config_test.cc
|
| index 890c3ac186bebb58eeeee00314e0350401a2b5c8..edc6f7b9911483f2ac06d1da34fb5a0710aebb7b 100644
|
| --- a/net/quic/core/quic_config_test.cc
|
| +++ b/net/quic/core/quic_config_test.cc
|
| @@ -252,6 +252,56 @@ TEST_F(QuicConfigTest, HasClientSentConnectionOption) {
|
| config_.HasClientSentConnectionOption(kTBBR, Perspective::IS_SERVER));
|
| }
|
|
|
| +TEST_F(QuicConfigTest, DontSendClientConnectionOptions) {
|
| + QuicConfig client_config;
|
| + QuicTagVector copt;
|
| + copt.push_back(kTBBR);
|
| + client_config.SetClientConnectionOptions(copt);
|
| +
|
| + CryptoHandshakeMessage msg;
|
| + client_config.ToHandshakeMessage(&msg);
|
| +
|
| + string error_details;
|
| + const QuicErrorCode error =
|
| + config_.ProcessPeerHello(msg, CLIENT, &error_details);
|
| + EXPECT_EQ(QUIC_NO_ERROR, error);
|
| + EXPECT_TRUE(config_.negotiated());
|
| +
|
| + EXPECT_FALSE(config_.HasReceivedConnectionOptions());
|
| +}
|
| +
|
| +TEST_F(QuicConfigTest, HasClientRequestedIndependentOption) {
|
| + QuicConfig client_config;
|
| + QuicTagVector client_opt;
|
| + client_opt.push_back(kRENO);
|
| + QuicTagVector copt;
|
| + copt.push_back(kTBBR);
|
| + client_config.SetClientConnectionOptions(client_opt);
|
| + client_config.SetConnectionOptionsToSend(copt);
|
| + EXPECT_TRUE(client_config.HasClientSentConnectionOption(
|
| + kTBBR, Perspective::IS_CLIENT));
|
| + EXPECT_TRUE(client_config.HasClientRequestedIndependentOption(
|
| + kRENO, Perspective::IS_CLIENT));
|
| + EXPECT_FALSE(client_config.HasClientRequestedIndependentOption(
|
| + kTBBR, Perspective::IS_CLIENT));
|
| +
|
| + CryptoHandshakeMessage msg;
|
| + client_config.ToHandshakeMessage(&msg);
|
| +
|
| + string error_details;
|
| + const QuicErrorCode error =
|
| + config_.ProcessPeerHello(msg, CLIENT, &error_details);
|
| + EXPECT_EQ(QUIC_NO_ERROR, error);
|
| + EXPECT_TRUE(config_.negotiated());
|
| +
|
| + EXPECT_TRUE(config_.HasReceivedConnectionOptions());
|
| + EXPECT_EQ(1u, config_.ReceivedConnectionOptions().size());
|
| + EXPECT_FALSE(config_.HasClientRequestedIndependentOption(
|
| + kRENO, Perspective::IS_SERVER));
|
| + EXPECT_TRUE(config_.HasClientRequestedIndependentOption(
|
| + kTBBR, Perspective::IS_SERVER));
|
| +}
|
| +
|
| } // namespace
|
| } // namespace test
|
| } // namespace net
|
|
|