summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_unittest.cc
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-20 01:11:53 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-20 01:11:53 +0000
commitaa4861088333f8cb2638a8a42ff35f2e42834576 (patch)
tree3447b65520012c7739809ec5239bebdbd5846963 /net/socket/tcp_client_socket_unittest.cc
parentebe42d99cfd8217f70c42b1411bbecd3ba5759ca (diff)
downloadchromium_src-aa4861088333f8cb2638a8a42ff35f2e42834576.zip
chromium_src-aa4861088333f8cb2638a8a42ff35f2e42834576.tar.gz
chromium_src-aa4861088333f8cb2638a8a42ff35f2e42834576.tar.bz2
Fix TCPClientSocket::GetLocalAddress() to work when socket is not connected.
BUG=118312 Review URL: https://chromiumcodereview.appspot.com/10803027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147586 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/tcp_client_socket_unittest.cc')
-rw-r--r--net/socket/tcp_client_socket_unittest.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/socket/tcp_client_socket_unittest.cc b/net/socket/tcp_client_socket_unittest.cc
index c2589b8..ce0c535 100644
--- a/net/socket/tcp_client_socket_unittest.cc
+++ b/net/socket/tcp_client_socket_unittest.cc
@@ -34,6 +34,10 @@ TEST(TCPClientSocketTest, BindLoopbackToLoopback) {
EXPECT_EQ(OK, socket.Bind(IPEndPoint(lo_address, 0)));
+ IPEndPoint local_address_result;
+ EXPECT_EQ(OK, socket.GetLocalAddress(&local_address_result));
+ EXPECT_EQ(lo_address, local_address_result.address());
+
TestCompletionCallback connect_callback;
EXPECT_EQ(ERR_IO_PENDING, socket.Connect(connect_callback.callback()));
@@ -45,6 +49,12 @@ TEST(TCPClientSocketTest, BindLoopbackToLoopback) {
ASSERT_EQ(OK, result);
EXPECT_EQ(OK, connect_callback.WaitForResult());
+
+ EXPECT_TRUE(socket.IsConnected());
+ socket.Disconnect();
+ EXPECT_FALSE(socket.IsConnected());
+ EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED,
+ socket.GetLocalAddress(&local_address_result));
}
// Try to bind socket to the loopback interface and connect to an