diff options
Diffstat (limited to 'net/socket/ssl_client_socket_unittest.cc')
-rw-r--r-- | net/socket/ssl_client_socket_unittest.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc index 977c25b..d650f627df 100644 --- a/net/socket/ssl_client_socket_unittest.cc +++ b/net/socket/ssl_client_socket_unittest.cc @@ -2351,6 +2351,33 @@ TEST(SSLClientSocket, ClearSessionCache) { SSLClientSocket::ClearSessionCache(); } +TEST(SSLClientSocket, SerializeNextProtos) { + NextProtoVector next_protos; + next_protos.push_back(kProtoHTTP11); + next_protos.push_back(kProtoSPDY31); + static std::vector<uint8_t> serialized = + SSLClientSocket::SerializeNextProtos(next_protos); + ASSERT_EQ(18u, serialized.size()); + EXPECT_EQ(8, serialized[0]); // length("http/1.1") + EXPECT_EQ('h', serialized[1]); + EXPECT_EQ('t', serialized[2]); + EXPECT_EQ('t', serialized[3]); + EXPECT_EQ('p', serialized[4]); + EXPECT_EQ('/', serialized[5]); + EXPECT_EQ('1', serialized[6]); + EXPECT_EQ('.', serialized[7]); + EXPECT_EQ('1', serialized[8]); + EXPECT_EQ(8, serialized[9]); // length("spdy/3.1") + EXPECT_EQ('s', serialized[10]); + EXPECT_EQ('p', serialized[11]); + EXPECT_EQ('d', serialized[12]); + EXPECT_EQ('y', serialized[13]); + EXPECT_EQ('/', serialized[14]); + EXPECT_EQ('3', serialized[15]); + EXPECT_EQ('.', serialized[16]); + EXPECT_EQ('1', serialized[17]); +} + // Test that the server certificates are properly retrieved from the underlying // SSL stack. TEST_F(SSLClientSocketTest, VerifyServerChainProperlyOrdered) { |