Fix LazyNestedScrollingTest for devices with large density
Fixes: 174742031
Test: LazyNestedScrollingTest
Change-Id: Ia7c6c4b96a2da360e6204f749029e8c31be6c1d7
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt
index 6b5902a..148a4cd 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyNestedScrollingTest.kt
@@ -22,6 +22,7 @@
import androidx.compose.foundation.layout.size
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.gesture.TouchSlop
import androidx.compose.ui.gesture.scrollorientationlocking.Orientation
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.down
@@ -34,6 +35,7 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import com.google.common.truth.Truth
+import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -46,6 +48,15 @@
@get:Rule
val rule = createComposeRule()
+ var expectedDragOffset = Float.MAX_VALUE
+
+ @Before
+ fun test() {
+ expectedDragOffset = with(rule.density) {
+ TouchSlop.toPx() + 20
+ }
+ }
+
@Test
fun column_nestedScrollingBackwardInitially() {
val items = (1..3).toList()
@@ -109,12 +120,12 @@
.performGesture {
draggedOffset = 0f
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = 0f, y = 50f))
+ moveBy(Offset(x = 0f, y = expectedDragOffset))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(50f)
+ Truth.assertThat(draggedOffset).isEqualTo(expectedDragOffset)
}
}
@@ -140,12 +151,12 @@
rule.onNodeWithTag(LazyTag)
.performGesture {
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = 0f, y = -50f))
+ moveBy(Offset(x = 0f, y = -expectedDragOffset))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(-50f)
+ Truth.assertThat(draggedOffset).isEqualTo(-expectedDragOffset)
}
}
@@ -176,12 +187,12 @@
.performGesture {
draggedOffset = 0f
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = 0f, y = -50f))
+ moveBy(Offset(x = 0f, y = -expectedDragOffset))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(-50f)
+ Truth.assertThat(draggedOffset).isEqualTo(-expectedDragOffset)
}
}
@@ -207,12 +218,12 @@
rule.onNodeWithTag(LazyTag)
.performGesture {
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = 100f, y = 0f))
+ moveBy(Offset(x = expectedDragOffset, y = 0f))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(100f)
+ Truth.assertThat(draggedOffset).isEqualTo(expectedDragOffset)
}
}
@@ -248,12 +259,12 @@
.performGesture {
draggedOffset = 0f
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = 50f, y = 0f))
+ moveBy(Offset(x = expectedDragOffset, y = 0f))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(50f)
+ Truth.assertThat(draggedOffset).isEqualTo(expectedDragOffset)
}
}
@@ -279,12 +290,12 @@
rule.onNodeWithTag(LazyTag)
.performGesture {
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = -50f, y = 0f))
+ moveBy(Offset(x = -expectedDragOffset, y = 0f))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(-50f)
+ Truth.assertThat(draggedOffset).isEqualTo(-expectedDragOffset)
}
}
@@ -315,12 +326,12 @@
.performGesture {
draggedOffset = 0f
down(Offset(x = 10f, y = 10f))
- moveBy(Offset(x = -50f, y = 0f))
+ moveBy(Offset(x = -expectedDragOffset, y = 0f))
up()
}
rule.runOnIdle {
- Truth.assertThat(draggedOffset).isEqualTo(-50f)
+ Truth.assertThat(draggedOffset).isEqualTo(-expectedDragOffset)
}
}
}