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()); |