Merge "Add test for remeasuring from intrinsic change." into androidx-main
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
index 241e5cd..86a6f47 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/RemeasureWithIntrinsicsTest.kt
@@ -406,6 +406,33 @@
shapeColor = Color.Red
)
}
+
+ @Test
+ fun introducingChildIntrinsicsViaModifierWhenParentUsedIntrinsicSizes() {
+ var childModifier by mutableStateOf(Modifier as Modifier)
+
+ rule.setContent {
+ LayoutUsingIntrinsics() {
+ Box(
+ Modifier
+ .testTag("child")
+ .then(childModifier)
+ )
+ }
+ }
+
+ rule.onNodeWithTag("child")
+ .assertWidthIsEqualTo(0.dp)
+ .assertHeightIsEqualTo(0.dp)
+
+ rule.runOnIdle {
+ childModifier = Modifier.withIntrinsics(30.dp, 20.dp)
+ }
+
+ rule.onNodeWithTag("child")
+ .assertWidthIsEqualTo(30.dp)
+ .assertHeightIsEqualTo(20.dp)
+ }
}
@Composable