Chromium Code Reviews| Index: net/socket/ssl_client_socket_unittest.cc |
| diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc |
| index 02dd8f042e8066a6a94d5aa99b8aad4d54062ac9..f2e7ce24e2df688bb17faadbb53c4734bd27676e 100644 |
| --- a/net/socket/ssl_client_socket_unittest.cc |
| +++ b/net/socket/ssl_client_socket_unittest.cc |
| @@ -14,6 +14,7 @@ |
| #include "net/base/ssl_config_service.h" |
| #include "net/base/test_completion_callback.h" |
| #include "net/socket/client_socket_factory.h" |
| +#include "net/socket/client_socket_handle.h" |
| #include "net/socket/socket_test_util.h" |
| #include "net/socket/tcp_client_socket.h" |
| #include "net/test/test_server.h" |
| @@ -65,6 +66,32 @@ static bool LogContainsSSLConnectEndEvent( |
| net::NetLog::PHASE_NONE); |
| }; |
| +TEST_F(SSLClientSocketTest, ClientSocketHandleNotFromPool) { |
| + net::TestServer test_server(net::TestServer::TYPE_HTTPS, FilePath()); |
| + ASSERT_TRUE(test_server.Start()); |
| + |
| + net::AddressList addr; |
| + ASSERT_TRUE(test_server.GetAddressList(&addr)); |
| + |
| + TestCompletionCallback callback; |
| + net::CapturingNetLog log(net::CapturingNetLog::kUnbounded); |
| + net::StreamSocket* transport = new net::TCPClientSocket( |
| + addr, &log, net::NetLog::Source()); |
| + int rv = transport->Connect(&callback); |
| + if (rv == net::ERR_IO_PENDING) |
| + rv = callback.WaitForResult(); |
| + EXPECT_EQ(net::OK, rv); |
| + |
| + scoped_ptr<net::ClientSocketHandle> socket_handle( |
| + new net::ClientSocketHandle()); |
| + socket_handle->set_socket(transport); |
| + |
| + // When creating a SSLClientSocket, it is allowed to pass in a |
| + // ClientSocketHandle that is not obtained from a client socket pool. |
| + // Here we verify that such a simple ClientSocketHandle, not associated with |
| + // any client socket pool, can be destroyed safely. |
|
wtc
2011/08/15 19:35:12
Please move this comment before this unit test, at
yzshen1
2011/08/15 23:09:32
Done. Thanks!
|
| +} |
| + |
| TEST_F(SSLClientSocketTest, Connect) { |
| net::TestServer test_server(net::TestServer::TYPE_HTTPS, FilePath()); |
| ASSERT_TRUE(test_server.Start()); |