From 8cc0ab9cfae52ff06c745ed3cc8eb06f45184b46 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Fri, 19 Mar 2021 13:15:56 -0400 Subject: [PATCH] Make ScrollCaptureControllerTest stricter - Ensure requested rect overlaps with total rect. - Ensure sequential tiles are adjacent Test: atest ScrolCaptureControllerTest Change-Id: Ib722b7b65a81df30930467cd5758d8e37bb71f4d --- .../systemui/screenshot/ScrollCaptureControllerTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureControllerTest.java index 410d9de9e0acd..7fe178c81ea85 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureControllerTest.java @@ -17,6 +17,7 @@ package com.android.systemui.screenshot; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; @@ -57,13 +58,17 @@ public class ScrollCaptureControllerTest extends SysuiTestCase { public int availableBottom = Integer.MAX_VALUE; // If true, return an empty rect any time a partial result would have been returned. public boolean emptyInsteadOfPartial = false; + private int mPreviousTopRequested = 0; @Override public ListenableFuture requestTile(int top) { + // Ensure we don't request a tile more than a tile away. + assertTrue(Math.abs(top - mPreviousTopRequested) <= getTileHeight()); + mPreviousTopRequested = top; Rect requested = new Rect(0, top, getPageWidth(), top + getTileHeight()); Rect fullContent = new Rect(0, availableTop, getPageWidth(), availableBottom); Rect captured = new Rect(requested); - captured.intersect(fullContent); + assertTrue(captured.intersect(fullContent)); if (emptyInsteadOfPartial && captured.height() != getTileHeight()) { captured = new Rect(); }