diff options
Diffstat (limited to 'app/src/test/java/invalid/lena')
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/ControlMessagesTest.java | 6 | ||||
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/app/src/test/java/invalid/lena/scrcpy/ControlMessagesTest.java b/app/src/test/java/invalid/lena/scrcpy/ControlMessagesTest.java index a84e18e..1890860 100644 --- a/app/src/test/java/invalid/lena/scrcpy/ControlMessagesTest.java +++ b/app/src/test/java/invalid/lena/scrcpy/ControlMessagesTest.java @@ -9,6 +9,12 @@ import java.nio.charset.StandardCharsets; public class ControlMessagesTest { + @Test(expected = IllegalArgumentException.class) + public void clipboardRejectsOversizedText() { + char[] chars = new char[ControlMessages.MAX_CLIPBOARD_BYTES + 1]; + ControlMessages.setClipboard(0, false, new String(chars)); + } + @Test public void touchByteLayout() { // ACTION_DOWN=0, single finger, target 1080x2400, x=100, y=200, full pressure diff --git a/app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java b/app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java index cafff81..8573d3b 100644 --- a/app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java +++ b/app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java @@ -7,6 +7,7 @@ import org.junit.Test; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.util.concurrent.atomic.AtomicBoolean; import java.io.DataOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -149,4 +150,17 @@ public class ControlStreamTest { System.arraycopy(bytes, bytes.length - 14, tail, 0, 14); for (int i = 0; i < 14; i++) assertEquals(key[i], tail[i]); } + + @Test + public void nonDroppableOverflowFailsStream() { + AtomicBoolean failed = new AtomicBoolean(); + ControlStream cs = new ControlStream( + new ByteArrayInputStream(new byte[0]), new ByteArrayOutputStream(), + () -> failed.set(true)); + + byte[] key = ControlMessages.keycode(0, 29, 0, 0); + for (int i = 0; i < 257; i++) cs.send(key); + + assertEquals(true, failed.get()); + } } |