aboutsummaryrefslogtreecommitdiff
path: root/app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java')
-rw-r--r--app/src/test/java/invalid/lena/scrcpy/TouchGeometryTest.java48
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());
+ }
+}