Improve IP_PATTERN in DirectRTCClient in Android AppRTC Demo

Earlier, strings like "aaaa" and "1111" would be interpreted as IP
addresses, which is not optimal. This CL improves the IP_PATTERN and
adds a test for it.

Review-Url: https://codereview.webrtc.org/2009493002
Cr-Commit-Position: refs/heads/master@{#12887}
This commit is contained in:
sakal
2016-05-25 02:26:22 -07:00
committed by Commit bot
parent 834081aadf
commit b0cf1a8916
2 changed files with 50 additions and 2 deletions

View File

@ -18,6 +18,10 @@ import org.robolectric.annotation.Config;
import org.webrtc.IceCandidate;
import org.webrtc.SessionDescription;
import java.util.regex.Matcher;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.isNotNull;
@ -57,6 +61,50 @@ public class DirectRTCClientTest {
server = new DirectRTCClient(serverEvents);
}
@Test
public void testValidIpPattern() {
// Strings that should match the pattern.
final String[] ipAddresses = new String[] {
"0.0.0.0",
"127.0.0.1",
"192.168.0.1",
"0.0.0.0:8888",
"127.0.0.1:8888",
"192.168.0.1:8888",
"::",
"::1",
"2001:0db8:85a3:0000:0000:8a2e:0370:7946",
"[::]",
"[::1]",
"[2001:0db8:85a3:0000:0000:8a2e:0370:7946]",
"[::]:8888",
"[::1]:8888",
"[2001:0db8:85a3:0000:0000:8a2e:0370:7946]:8888"
};
for (String ip : ipAddresses) {
assertTrue(ip + " didn't match IP_PATTERN even though it should.",
DirectRTCClient.IP_PATTERN.matcher(ip).matches());
}
}
@Test
public void testInvalidIpPattern() {
// Strings that shouldn't match the pattern.
final String[] invalidIpAddresses = new String[] {
"Hello, World!",
"aaaa",
"1111",
"[hello world]",
"hello:world"
};
for (String invalidIp : invalidIpAddresses) {
assertFalse(invalidIp + " matched IP_PATTERN even though it shouldn't.",
DirectRTCClient.IP_PATTERN.matcher(invalidIp).matches());
}
}
@Test
public void testDirectRTCClient() {
server.connectToRoom(new AppRTCClient.RoomConnectionParameters(ROOM_URL, "0.0.0.0", LOOPBACK));