From 852a8a00273c9128efeed0217a8e5d3fcd8bf780 Mon Sep 17 00:00:00 2001 From: Lena Date: Sat, 1 Aug 2026 00:00:00 +0000 Subject: app: harden mirroring lifecycle and state --- app/src/test/java/invalid/lena/scrcpy/DevicesTest.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'app/src/test/java/invalid/lena/scrcpy/DevicesTest.java') diff --git a/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java b/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java index dcd04ca..bde8af8 100644 --- a/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java +++ b/app/src/test/java/invalid/lena/scrcpy/DevicesTest.java @@ -2,6 +2,7 @@ package invalid.lena.scrcpy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import org.junit.Test; @@ -20,9 +21,10 @@ public class DevicesTest { } @Test - public void parseNonArrayReturnsEmpty() { - assertTrue(Devices.parse("{not json").isEmpty()); - assertTrue(Devices.parse("{\"host\":\"x\"}").isEmpty()); + public void parseNonArrayFailsLoudly() { + assertThrows(IllegalArgumentException.class, () -> Devices.parse("{not json")); + assertThrows(IllegalArgumentException.class, + () -> Devices.parse("{\"host\":\"x\"}")); } @Test @@ -53,6 +55,14 @@ public class DevicesTest { assertEquals(43210, out.get(1).port); } + @Test + public void serializeRejectsInvalidRows() { + assertThrows(IllegalStateException.class, () -> Devices.serialize(Arrays.asList( + new Devices.Device("bad host", 5555)))); + assertThrows(IllegalStateException.class, () -> Devices.serialize(Arrays.asList( + new Devices.Device("target", 0)))); + } + @Test public void parseAddressSplitsHostAndPort() { Devices.Device d = Devices.parseAddress(" 192.168.1.42:41234 "); -- cgit v1.2.3