diff options
4 files changed, 67 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/javax/net/ssl/SSLServerSocketTest.java b/luni/src/test/java/libcore/javax/net/ssl/SSLServerSocketTest.java index d2c0f48803..04f9252556 100644 --- a/luni/src/test/java/libcore/javax/net/ssl/SSLServerSocketTest.java +++ b/luni/src/test/java/libcore/javax/net/ssl/SSLServerSocketTest.java @@ -63,4 +63,29 @@ public class SSLServerSocketTest extends TestCase { array[0] = "Modified after having been set"; assertEquals(originalFirstElement, socket.getEnabledProtocols()[0]); } + + // We modified the toString() of SSLServerSocket, and it's based on the output + // of ServerSocket.toString(), so we want to make sure that a change in + // ServerSocket.toString() doesn't cause us to output nonsense. + public void testToString() throws Exception { + // The actual implementation from a security provider might do something + // special for its toString(), so we create our own implementation + SSLServerSocket socket = new SSLServerSocket() { + @Override public String[] getEnabledCipherSuites() { return new String[0]; } + @Override public void setEnabledCipherSuites(String[] strings) { } + @Override public String[] getSupportedCipherSuites() { return new String[0]; } + @Override public String[] getSupportedProtocols() { return new String[0]; } + @Override public String[] getEnabledProtocols() { return new String[0]; } + @Override public void setEnabledProtocols(String[] strings) { } + @Override public void setNeedClientAuth(boolean b) { } + @Override public boolean getNeedClientAuth() { return false; } + @Override public void setWantClientAuth(boolean b) { } + @Override public boolean getWantClientAuth() { return false; } + @Override public void setUseClientMode(boolean b) { } + @Override public boolean getUseClientMode() { return false; } + @Override public void setEnableSessionCreation(boolean b) { } + @Override public boolean getEnableSessionCreation() { return false; } + }; + assertTrue(socket.toString().startsWith("SSLServerSocket[")); + } } diff --git a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java index a668f141e0..bec7b2dcfa 100644 --- a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java +++ b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java @@ -2616,6 +2616,37 @@ public class SSLSocketTest extends TestCase { } } + // We modified the toString() of SSLSocket, and it's based on the output + // of Socket.toString(), so we want to make sure that a change in + // Socket.toString() doesn't cause us to output nonsense. + public void test_SSLSocket_toString() throws Exception { + // The actual implementation from a security provider might do something + // special for its toString(), so we create our own implementation + SSLSocket socket = new SSLSocket() { + @Override public String[] getSupportedCipherSuites() { return new String[0]; } + @Override public String[] getEnabledCipherSuites() { return new String[0]; } + @Override public void setEnabledCipherSuites(String[] strings) { } + @Override public String[] getSupportedProtocols() { return new String[0]; } + @Override public String[] getEnabledProtocols() { return new String[0]; } + @Override public void setEnabledProtocols(String[] strings) { } + @Override public SSLSession getSession() { return null; } + @Override public void addHandshakeCompletedListener( + HandshakeCompletedListener handshakeCompletedListener) { } + @Override public void removeHandshakeCompletedListener( + HandshakeCompletedListener handshakeCompletedListener) { } + @Override public void startHandshake() throws IOException { } + @Override public void setUseClientMode(boolean b) { } + @Override public boolean getUseClientMode() { return false; } + @Override public void setNeedClientAuth(boolean b) { } + @Override public boolean getNeedClientAuth() { return false; } + @Override public void setWantClientAuth(boolean b) { } + @Override public boolean getWantClientAuth() { return false; } + @Override public void setEnableSessionCreation(boolean b) { } + @Override public boolean getEnableSessionCreation() { return false; } + }; + assertTrue(socket.toString().startsWith("SSLSocket[")); + } + /** * Not run by default by JUnit, but can be run by Vogar by * specifying it explicitly (or with main method below) diff --git a/ojluni/src/main/java/javax/net/ssl/SSLServerSocket.java b/ojluni/src/main/java/javax/net/ssl/SSLServerSocket.java index d5bbaaf5da..b7a6c3db1d 100644 --- a/ojluni/src/main/java/javax/net/ssl/SSLServerSocket.java +++ b/ojluni/src/main/java/javax/net/ssl/SSLServerSocket.java @@ -524,4 +524,10 @@ public abstract class SSLServerSocket extends ServerSocket { } } + // Android-added: Make toString explicit that this is an SSLServerSocket (http://b/6602228) + @Override + public String toString() { + return "SSL" + super.toString(); + } + } diff --git a/ojluni/src/main/java/javax/net/ssl/SSLSocket.java b/ojluni/src/main/java/javax/net/ssl/SSLSocket.java index 0528ccabdf..1b6a69c8a2 100644 --- a/ojluni/src/main/java/javax/net/ssl/SSLSocket.java +++ b/ojluni/src/main/java/javax/net/ssl/SSLSocket.java @@ -1393,4 +1393,9 @@ public abstract class SSLSocket extends Socket } } + // Android-added: Make toString explicit that this is an SSLSocket (http://b/6602228) + @Override + public String toString() { + return "SSL" + super.toString(); + } } |