diff options
Diffstat (limited to 'app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java')
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/ControlStreamTest.java | 14 |
1 files changed, 14 insertions, 0 deletions
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()); + } } |