diff options
| author | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
| commit | 852a8a00273c9128efeed0217a8e5d3fcd8bf780 (patch) | |
| tree | c72f959731fa3c7c809cf1a0222363b6c9c9b03b /app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java | |
| parent | f379b93d52bf0dbd3816ec3f64d165314771d2a6 (diff) | |
| download | scrcpy-android-852a8a00273c9128efeed0217a8e5d3fcd8bf780.tar.gz | |
app: harden mirroring lifecycle and state
Diffstat (limited to 'app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java')
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java b/app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java new file mode 100644 index 0000000..5db6d32 --- /dev/null +++ b/app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java @@ -0,0 +1,48 @@ +package invalid.lena.scrcpy; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import org.junit.Test; + +public class TouchGeometryTest { + + @Test + public void viewportBeforeTargetDoesNotEnableInput() { + TouchGeometry geometry = new TouchGeometry(); + geometry.setViewport(0, 0, 0, 1080, 608); + assertNull(geometry.snapshot()); + } + + @Test + public void targetResizeInvalidatesViewport() { + TouchGeometry geometry = new TouchGeometry(); + long first = 7; + geometry.setTargetSize(first, 1920, 1080); + geometry.setViewport(first, 0, 100, 1080, 608); + + long second = 8; + geometry.setTargetSize(second, 1080, 1920); + + assertNull(geometry.snapshot()); + geometry.setViewport(first, 100, 0, 608, 1080); + assertNull(geometry.snapshot()); + + geometry.setViewport(second, 100, 0, 608, 1080); + TouchGeometry.Snapshot snapshot = geometry.snapshot(); + assertEquals(1080, snapshot.targetW); + assertEquals(1920, snapshot.targetH); + assertEquals(100, snapshot.x); + assertEquals(608, snapshot.w); + } + + @Test + public void emptyViewportDisablesInput() { + TouchGeometry geometry = new TouchGeometry(); + long version = 1; + geometry.setTargetSize(version, 1920, 1080); + geometry.setViewport(version, 0, 0, 1080, 608); + geometry.setViewport(version, 0, 0, 0, 0); + assertNull(geometry.snapshot()); + } +} |