diff options
Diffstat (limited to 'app/src/test/java/invalid')
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/DevicesTest.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java b/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java index d1e4f02..dcd04ca 100644 --- a/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java +++ b/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java @@ -1,6 +1,7 @@ package invalid.lena.scrcpy; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.Test; @@ -53,6 +54,47 @@ public class DevicesTest { } @Test + public void parseAddressSplitsHostAndPort() { + Devices.Device d = Devices.parseAddress(" 192.168.1.42:41234 "); + assertEquals("192.168.1.42", d.host); + assertEquals(41234, d.port); + + Devices.Device v6 = Devices.parseAddress("[fe80::1]:5555"); + assertEquals("fe80::1", v6.host); + assertEquals(5555, v6.port); + // Round-trips through the display form. + assertEquals("[fe80::1]:5555", v6.toString()); + } + + @Test + public void parseAddressRejectsMalformed() { + // No port, empty host, non-numeric and out-of-range ports. + assertNull(Devices.parseAddress(null)); + assertNull(Devices.parseAddress("")); + assertNull(Devices.parseAddress("192.168.1.42")); + assertNull(Devices.parseAddress(":5555")); + assertNull(Devices.parseAddress("192.168.1.42:")); + assertNull(Devices.parseAddress("192.168.1.42:port")); + assertNull(Devices.parseAddress("192.168.1.42:0")); + assertNull(Devices.parseAddress("192.168.1.42:65536")); + // Unbracketed IPv6 would otherwise split at the wrong colon. + assertNull(Devices.parseAddress("fe80::1:5555")); + assertNull(Devices.parseAddress("[fe80::1]5555")); + } + + @Test + public void parsePortRejectsNonDigits() { + assertEquals(5555, Devices.parsePort(" 5555 ")); + assertEquals(1, Devices.parsePort("1")); + assertEquals(65535, Devices.parsePort("65535")); + assertEquals(-1, Devices.parsePort("")); + assertEquals(-1, Devices.parsePort("+5555")); + assertEquals(-1, Devices.parsePort("-1")); + assertEquals(-1, Devices.parsePort("55x5")); + assertEquals(-1, Devices.parsePort("655360")); + } + + @Test public void deviceEqualsByHostAndPort() { Devices.Device a = new Devices.Device("1.1.1.1", 5555); Devices.Device b = new Devices.Device("1.1.1.1", 5555); |